HarmonyOS 鸿蒙Next 通过Date格式化时间戳的问题

发布于 1周前 作者 songsunli 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 通过Date格式化时间戳的问题

const date = new Date(‘1732433097000’);
const year = date.getFullYear();
const month = (date.getMonth() + 1).toString().padStart(2, ‘0’);
const day = date.getDate().toString().padStart(2, ‘0’);
let str = ${year}-${month}-${day};

该时间戳的具体时间是2024-11-24 15:24:57,但获取的年月日均为NaN,这是为什么?

5 回复

单引号内需要的是日期格式,所以你可以去掉单引号

const date = new Date(1732433097000); 

或者在单引号内写日期格式

const date = new Date('2024-11-24'); 

也就是说,传入的时间戳参数类型需要是number类型才行是吗?

对,可以Number const date = new Date(Number(‘1732433097000’)); 或者parseInt const date = new Date(parseInt(‘1732433097000’));

了解了,非常感谢~

关于HarmonyOS 鸿蒙Next通过Date格式化时间戳的问题,以下是一些专业的解答:

在HarmonyOS中,Date对象本身并不直接提供格式化时间戳的功能。若要将时间戳格式化为可读的日期时间字符串,可以使用DateTimeFormat类。这个类允许你根据用户所在区域的语言和文化习惯,选择合适的日期和时间样式进行格式化。

例如,要格式化一个日期为完整的中文日期格式(包括年、月、日、星期),可以这样做:

import { intl } from '@kit.LocalizationKit';
let date = new Date();
let dateFormat = new intl.DateTimeFormat('zh-Hans', { dateStyle: 'full' });
let formattedDate = dateFormat.format(date);

如果你需要将时间戳格式化为特定的字符串格式(如“YYYY-MM-DD HH:mm:ss”),可以使用第三方日期处理库,如Day.js。Day.js提供了简单的API来格式化和解析日期。

如果上述方法无法满足你的需求,或者你在使用过程中遇到了问题,建议查阅HarmonyOS的官方文档,或者联系官网客服寻求帮助。官网地址是:https://www.itying.com/category-93-b0.html

回到顶部