计算机系统应用教程网站

网站首页 > 技术文章 正文

WPS JSA日期时间的填 坑已经都给你们填平了 郑广学JSA880

btikc 2024-12-12 10:57:25 技术文章 29 ℃ 0 评论

今天小编就给大家将WPS JSA 中日期时间的问题一一剖析出来。我们以后看到时间再也不会有任何的阴影了。

首先,我们看一下下面三种写法在局部变量中有什么不同:

单元格 C3:

代码:

局部变量:

从这三个图片可以看到 d2 是空值,d1 和 d3 有值。

知识点1:必须使用 .Value2 来获取单元格日期值:

错误做法: d2 = Range("C3").Value:当单元格是日期时,日期在jsa中是特殊类型,使用 Value 会造成返回空值。

正确做法: d3 = Range("C3").Value2 使用Value2获取日期值,才能返回日期的原始值,避免空值问题。

接下来看:

d1 值是:1,687,276,800,000 =》就是 jsa 时间戳

d3 值是:45,098 =》就是 excel时间

网上一翻,概念洋洋洒洒一大篇,我们来总结下:

Jsa 时间戳是一个整数,以毫秒为单位

Excel 时间是一个浮点数,日期为整数,时间是小数部分

两个都是输入的时间与他们各自起点日期时间的差异数。

知识点2:二个时间的起点日期时间:

Jsa时间戳:1970年1月1日 8:00

Jsa时间戳: 是世界时间,有时区偏移,我们是东八区北京时间所以是8:00

jsa时间戳:日期是 2023-6-21,没有输入时间,与1970-1-1 8:00差异数换算到毫秒就是:1,687,276,800,000

excel时间:日期是 2023-6-21,没有输入时间,与1900-1-1 0:00差异数就是 45,098 没有时间所以是整数。

每小时、每天的毫秒值:

知识点3:

计算过程:

25,569天*86,400,000 毫秒/天= 2,209,161,600,000 毫秒

8 小时 * 3,600,000 毫秒/小时= 28,800,000 毫秒

相加后计算出两者总相差: 2,209,190,400,000 毫秒

知识为4:Jsa 时间戳 与 excel时间 换算公式:


45,098 = ( 1,687,276,800,000 + 2,209,190,400,000 )/ 86,400,000

1,687,276,800,000 = 45,098 × 86,400,000 - 2,209,190,400,000

有了这公式我们换算起来是不是很方便。但是JSA880框架还为大家准备了更方便的函数:

轻轻松松就把二个值给转换好了。

知识点5:

new Date(“日期”) 如果不写日期则为当天日期。在变量里显示jsa时间戳;

知识点6:

在变量里可以看到时间戳,但是我们要这样输出却是空

console.log(d3); //输出:空值

如果要输出时间戳:d1.getTime();

如果要将时间按格式输出最快的方法就是使用880的函数:

console.log(d3.format()); //输出:2023-06-21

知识点7:系统获取/设置时间方法:

获取

getFullYear、getDate、getHours、getMinutes、getSeconds

getMonth: 实际+1

设置

setFullYear、setDate、setMinutes、setSeconds

setHours 可以setHours(0,0,0,0) 全部时间改0

也可以 setHours(15) 仅小时

setMonth: +1实际月

**月份问题:

var d1 = new Date(“2024-6-21”);

console.log(d1.setMonth(8).format());

// 2024-9-21

console.log(d1.getMonth( )); //8

知识点8:

toString: 一整串英文的全日期含时间

toLocalDateString: 接受2个参数,根据本地环境,返回日期字符串

toDateString: 不考虑本地化,无参数, 返回日期字符串

当然 JSA880框架的函数库 操作日期时间更为方便

今天就讲解到这里,Excel880工作室为大家准备一整套更完整方便快捷的时间的各类方法,大家来和我一起学习哦。

加Excel880B 进JSA学习群


本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表