网站首页 > 技术文章 正文
今天小编就给大家将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学习群
猜你喜欢
- 2024-12-12 各种数据文件时间戳服务解决方案
- 2024-12-12 Python中日期、时间处理Arrow类库如何使用
- 2024-12-12 解决AAC音频编码时间戳的计算问题
- 2024-12-12 python 日期、时间处理,各种日期时间格式/字符串?
- 2024-12-12 一个按时间戳排序导致的 Bug
- 2024-12-12 Python的time模块与datetime模块完整使用方法
- 2024-12-12 JAVA常用时间工具类(LocalDateTime)
- 2024-12-12 JS:处理日期时间,实现格式化的方法与简单封装
- 2024-12-12 Python处理日期时间常用的10个操作
- 2024-12-12 POSTGRESQL中时间戳的奥秘timestamptz
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)