excel日期以年1月1日为基准点,wps基于js的日期类型与此却有很大差别.
functiontest01(){Console.clear()vara=newDate()Console.log(a)//电脑当前时间/1/:14:28每次运行会变}functiontest02(){Console.clear()vara=newDate()Console.log(a.getTime())//电脑当前时间戳0}functiontest03(){Console.clear()vara=newDate()a.setTime(4)Console.log(a)//显示a所对应的时间/6/:33:32}functiontest04(){Console.clear()vara=newDate()a.setTime(-)Console.log(a)//显示a所对应的时间/12/:59:58a.setTime(-)Console.log(a)//显示a所对应的时间/12/:59:59a.setTime(0)Console.log(a)//显示a所对应的时间/1/1}
以上展示了4个测试js代码
通过以上示例可以看到wpsjs的日期型数值采用毫秒制,0对应的日期为/1/1
excelvba的/1/1对应的日期为,所以需要相应转换.
编写一个简单的转换函数
functionexceldatetowps(exceldate){ //excel日期值转换成wps日期值的函数,///1/1对应excel日期 turn(exceldate-)**60*60*24 ////间隔数就是天数,换算成毫秒}
再来测试一下:
functiondemo02(){ Console.clear() varms=exceldatetowps(Range("b3").Value2) vara=newDate() a.setTime(ms) Console.log(a)}
测试代码正确地显示了B3和B4单元格中的wps日期数值