Qml中Date日期时间的值传递(复制)
在qml中需要对日期时间值进行传递,不能直接采用赋值传递的方式,否则仅仅只传递了Date的指针,并没有对数值内容进行复制。
解决办法:
方法一: 如在数据初始化时需要复制值,可使用new Date(date)的方式【示例中的date4】
方法二: 如在函数中动态的对已开辟新空间的日期时间变量赋值,使用date.setTime(date.getTime())【示例中的dete3】
示例代码如下:
function dateTest(){
var date1 = new Date(2021,0,1,0,0,0)//2021-01-01 00:00:00
var date2 = new Date()
var date3 = new Date()
var date4 = new Date(date1)//开辟一个以date1为值的新空间
date2 = date1//并没有复制值,而是把date1指针给了date2
date3.setTime(date1.getTime())//获取date1的值,并将该值赋予date3,没有指针的传递
//修改日期,观察各date的变化
date2.setDate(10)
date3.setDate(11)
date4.setDate(12)
console.log(date1)
console.log(date2)
console.log(date3)
console.log(date4)
}
程序测试输出:
qml: 周日 1月 10 00: 00 :00 2021 GMT+0800
qml: 周日 1月 10 00: 00 :00 2021 GMT+0800
qml: 周一 1月 11 00: 00 :00 2021 GMT+0800
qml: 周二 1月 12 00: 00 :00 2021 GMT+0800