领先的免费Web技术教程,涵盖HTML到ASP.NET

网站首页 > 知识剖析 正文

wpsjs如何转换日期型数据?

nixiaole 2024-12-07 15:51:34 知识剖析 16 ℃

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日期数值

Tags:

最近发表
标签列表