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:58
a.setTime(-1000)
Console.log(a)//显示a所对应的时间1969/12/31 23:59:59
a.setTime(0)
Console.log(a)//显示a所对应的时间1970/1/1
}
以上展示了4个测试js代码
通过以上示例可以看到wpsjs的日期型数值采用毫秒制,0对应的日期为1970/1/1
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)
}
测试代码正确地显示了B3和B4单元格中的wps日期数值
,Copyright © 2008-2022 秒下下载站
m.down10s.com .All Rights Reserved