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

2 回复

很有用 已解决问题

更多关于HarmonyOS鸿蒙Next中时间戳格式转换示例代码的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,可以使用java.util.Datejava.text.SimpleDateFormat类来进行时间戳格式转换。以下是一个示例代码:

import java.text.SimpleDateFormat;
import java.util.Date;

public class TimestampConverter {
    public static void main(String[] args) {
        long timestamp = System.currentTimeMillis(); // 获取当前时间戳
        Date date = new Date(timestamp); // 将时间戳转换为Date对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 定义日期格式
        String formattedDate = sdf.format(date); // 格式化日期
        System.out.println("Formatted Date: " + formattedDate);
    }
}

这段代码将当前时间戳转换为yyyy-MM-dd HH:mm:ss格式的字符串并输出。

回到顶部