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日以来的毫秒数。

回到顶部