js和java前后端传递Date类型数据的问题


1、后端 => 前端

 由下述代码可知:后端java的Date类型数据传递到前端,输出格式为 yy-mm-dd hh-mm-ss,可以直接把它作为参数放进 js 的 new Date( ) 里,得到的就是正确的js格式的Date:

const date = new Date(this.userInfo.birthday)
const date01 = new Date(this.userInfo.createTime)

console.log(this.userInfo.createTime)
console.log(this.userInfo.birthday)

console.log(date)
console.log(date01)

--------------------------------------------------------------------------------

java后端未经处理的date类型(MySql中为datetime): 2021/03/07 22:58:44
java后端未经处理的date类型(MySql中为date): 2013/07/12 00:00:00

java后端未经处理的date类型(MySql中为datetime)作为构造函数的参数:Fri Jul 12 2013 00:00:00 GMT+0800 (中国标准时间)
java后端未经处理的date类型(MySql中为date)的时间戳作为构造函数的参数:Sun Mar 07 2021 22:58:44 GMT+0800 (中国标准时间)



 一些关于js中Date对象构造函数的参数类型如下述代码所示,当然还有没写上去的时间戳:

const date01 = new Date(2021, 3, 20)
const date02 = new Date('2021-03-05')
const date03 = new Date('2021-3-5')
const date04 = new Date('2021/3/5')
const date05 = new Date('2021/03/05')
const date06 = new Date('2021/03/05 01:01:01')
const date07 = new Date('2021-03-05 1:1:1')

--------------------------------------------------------------------------------

date01 (2021, 3, 20) : Tue Apr 20 2021 00:00:00 GMT+0800 (中国标准时间)
date02 ('2021-03-05') : Fri Mar 05 2021 08:00:00 GMT+0800 (中国标准时间)
date03 ('2021-3-5') : Fri Mar 05 2021 00:00:00 GMT+0800 (中国标准时间)
date04 ('2021/3/5') : Fri Mar 05 2021 00:00:00 GMT+0800 (中国标准时间)
date05 ('2021/03/05') : Fri Mar 05 2021 00:00:00 GMT+0800 (中国标准时间)
date06 ('2021/03/05 01:01:01') : Fri Mar 05 2021 01:01:01 GMT+0800 (中国标准时间)
date07 ('2021-03-05 1:1:1') : Fri Mar 05 2021 01:01:01 GMT+0800 (中国标准时间)


2、前端 => 后端

 前端Date类型传递到后端我用的是传递时间戳的方法,后端Date类型的参数可以成功接收。

 前端输出的requst请求中传递了时间戳:
在这里插入图片描述

 java后端成功接收并输出

//java控制台输出
//User(...... , birthday=Fri Jul 12 00:00:00 CST 2013, ......)



因为js和java的Date的规范不同,直接传递是不行的。目前只想到了时间戳的办法,大家如果有别的好办法请在评论区指教我下,非常感谢。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值