HarmonyOS鸿蒙Next实现时间戳格式转换功能示例代码
HarmonyOS鸿蒙Next实现时间戳格式转换功能示例代码
介绍
本示例展示了一个日期格式转化的Demo,其功能为将一个时间戳转换为当前的时间。
效果预览

使用说明
输入要格式化的时间,组件会实时更新格式化后的时间。
实现思路
构造formatDate方法。
function formatDate(timestamp: number, format = 'yyyy-mm-dd') {
let res = "";
try {
const date = new Date(timestamp);
const opt: Opt = {
yy: date.getFullYear().toString(),
mm: (date.getMonth() + 1).toString(),
dd: date.getDate().toString(),
HH: date.getHours().toString(),
MM: date.getMinutes().toString(),
SS: date.getSeconds().toString(),
};
const regKeys: string[] = ['y+', 'm+', 'd+', 'H+', 'M+', 'S+'];
for (let i = 0; i < regKeys.length; i++) {
const regKey = regKeys[i];
const reg = new RegExp(regKey);
let ret = reg.exec(format);
if (ret) {
switch (regKey) {
case 'y+':
format = format.replace(reg, ret.length === 1 ? opt.yy : opt.yy.padStart(ret.length, "0"));
case 'm+':
format = format.replace(reg, ret.length === 1 ? opt.mm : opt.mm.padStart(ret.length, "0"));
case 'd+':
format = format.replace(reg, ret.length === 1 ? opt.dd : opt.dd.padStart(ret.length, "0"));
case 'H+':
format = format.replace(reg, ret.length === 1 ? opt.HH : opt.HH.padStart(ret.length, "0"));
case 'M+':
format = format.replace(reg, ret.length === 1 ? opt.MM : opt.MM.padStart(ret.length, "0"));
case 'S+':
format = format.replace(reg, ret.length === 1 ? opt.SS : opt.SS.padStart(ret.length, "0"));
}
}
}
res = format;
} catch (error) {
hilog.error(0x0000, 'Index', "ERROR formatDate" + error);
}
return res;
}
更多关于HarmonyOS鸿蒙Next实现时间戳格式转换功能示例代码的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于HarmonyOS鸿蒙Next实现时间戳格式转换功能示例代码的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,实现时间戳格式转换可以通过使用ohos.utils.DateTimeUtil模块来完成。以下是一个示例代码,展示如何将时间戳转换为指定格式的日期字符串:
import DateTimeUtil from '@ohos.utils.DateTimeUtil';
// 假设有一个时间戳
let timestamp = 1698765432100;
// 将时间戳转换为Date对象
let date = new Date(timestamp);
// 使用DateTimeUtil.format方法将Date对象格式化为指定格式的字符串
let formattedDate = DateTimeUtil.format(date, 'yyyy-MM-dd HH:mm:ss');
console.log('Formatted Date:', formattedDate);
在这个示例中,DateTimeUtil.format方法用于将Date对象格式化为指定的日期字符串。'yyyy-MM-dd HH:mm:ss'是日期格式模板,表示年-月-日 时:分:秒。
如果你需要将日期字符串转换回时间戳,可以使用Date对象的getTime方法:
let dateString = '2023-10-31 12:34:56';
let date = new Date(dateString);
let timestamp = date.getTime();
console.log('Timestamp:', timestamp);
这个代码片段展示了如何将日期字符串转换为时间戳。Date对象的getTime方法返回自1970年1月1日以来的毫秒数。

