wpsjs如何转换日期型数据-wps日期转化

excel日期以1900年1月1日为基准点,wps基于js的日期类型与此却有很大差别.
function test01(){Console.clear()var a = new Date()Console.log(a)//电脑当前时间 2023/1/29 13:14:28 每次运行会变 } function test02(){Console.clear()var a = new Date()Console.log(a.getTime())//电脑当前时间戳1674998143980 }function test03(){Console.clear()var a = new Date()a.setTime(1623512012344)Console.log(a)//显示a所对应的时间2021/6/12 15:33:32 }function test04(){Console.clear()var a = new Date()a.setTime(-2000)Console.log(a)//显示a所对应的时间1969/12/31 23:59:58a.setTime(-1000)Console.log(a)//显示a所对应的时间1969/12/31 23:59:59a.setTime(0)Console.log(a)//显示a所对应的时间1970/1/1 }
以上展示了4个测试js代码

wpsjs如何转换日期型数据-wps日期转化

通过以上示例可以看到wpsjs的日期型数值采用毫秒制,0对应的日期为1970/1/1
wpsjs如何转换日期型数据-wps日期转化

excel vba的1970/1/1对应的日期为25569,所以需要相应转换.
编写一个简单的转换函数
function exceldatetowps(exceldate){ //excel日期值转换成wps日期值的函数,//1970/1/1对应excel日期25569 return (exceldate - 25569)*1000*60*60*24 ////间隔数就是天数,换算成毫秒}
再来测试 一下:
function demo02(){ Console.clear()var ms=exceldatetowps(Range("b3").Value2)var a = new Date()a.setTime(ms) Console.log(a)}
wpsjs如何转换日期型数据-wps日期转化

【wpsjs如何转换日期型数据-wps日期转化】测试代码正确地显示了B3和B4单元格中的wps日期数值

相关经验推荐