HarmonyOS鸿蒙Next中Date()解析时间戳,日期不对
HarmonyOS鸿蒙Next中Date()解析时间戳,日期不对
大佬们,时间转换的问题,总感觉哪里不对,但是又不知道啥地方出问题了,请看下面的代码和截图,为啥使用Date
读取的日期和时间戳的日期不一样
API
版本12
let dataaa = new Date() //获取当前的系统时间 ,Mon Dec 30 2024 10:17:30 GMT+0800@5976d036
let dataaa_num = dataaa.getTime() //把当前的时间转换为时间戳,1735525050061 转换后2024-12-30 10:17:30
let year = dataaa.getFullYear() //获取年,2024
let yue = dataaa.getMonth()// 获取月 11月
let ri = dataaa.getDay()//获取日:1日
let num_year = new Date(dataaa_num).getFullYear() // 获取年:2024
let num_yue = new Date(dataaa_num).getMonth()// 获取月:11月
let num_ri = new Date(dataaa_num).getDay()// 获取日 :1
更多关于HarmonyOS鸿蒙Next中Date()解析时间戳,日期不对的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
1、Date中的月份默认是从0开始,您可以通过date.getMonth() + 1
获取当前对应月份;
2、使用date.getDay()
获取的是当前在本周内的第几天,获取当前日期值可以通过date.getDate()
获取,还可以直接通过date.toLocaleDateString()
获取诸如 2/5/2024 这种格式的日期字符串。
关于Date时间范围的说明可以参考https://blog.csdn.net/qq_24726043/article/details/134674313,这部分ArkTS语言是和ts一样的
更多关于HarmonyOS鸿蒙Next中Date()解析时间戳,日期不对的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
多谢大佬,可以了,月份+1,getday修改成getdate就行了,,
在HarmonyOS鸿蒙Next中,使用Date()
解析时间戳时,如果日期不对,可能是由于时区设置或时间戳格式问题导致的。Date()
构造函数默认使用本地时区,如果时间戳是基于UTC时间生成的,解析时可能会产生偏差。可以通过Date.UTC()
方法显式指定UTC时间,或者使用toLocaleString()
等方法调整时区显示。此外,确保时间戳的单位是毫秒,而不是秒,否则需要乘以1000进行转换。
在HarmonyOS鸿蒙Next中,使用Date()
解析时间戳时,如果日期不对,可能是由于时区设置问题。默认情况下,Date()
使用本地时区,可能导致解析结果与预期不符。建议使用new Date(timestamp).toISOString()
来获取UTC时间,或手动设置时区。例如:
const timestamp = 1633072800000;
const date = new Date(timestamp);
console.log(date.toISOString()); // 输出UTC时间