OpenHarmony开发者论坛

标题: 在arkts中,时间戳如何转换为正常的日期格式 [打印本页]

作者: abcdef    时间: 2023-12-12 17:07
标题: 在arkts中,时间戳如何转换为正常的日期格式
在调用接口获取时间和时间戳的时候,很多时间接口的返回值都是1970年1月1日至今的毫秒/秒数;如何将它们转换为正常的日期格式呢?
作者: 羊毛不卷    时间: 2023-12-13 09:26
标题: 在arkts中,时间戳如何转换为正常的日期格式
自己写一个方法处理一下
  1. TimestampToDate(Timestamp:number) {
  2.     let now = new Date(Timestamp),
  3.       y = now.getFullYear(),
  4.       m = now.getMonth() + 1,
  5.       d = now.getDate();
  6.     return y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d) + " " + now.toTimeString().substr(0, 8);
  7.   }
复制代码


作者: 马迪    时间: 2023-12-13 09:29
毫秒时间
方式1:可以直接new Date
  1.       let milliseconds = 1626720000000; // 毫秒时间
  2.       let date = new Date(milliseconds);
  3.       console.log("madi:" + date.toString());
复制代码


方式2:也可以用dayjs开源三方库:
ohpm install dayjs

import dayjs from "dayjs"

  1.       let milliseconds = 1626720000000; // 毫秒时间
  2.       console.info("madi:" + dayjs(milliseconds).format("YYYY--MM--DDTHH:mm:ssZ[Z]"))
复制代码


作者: 深开鸿_王皓    时间: 2023-12-13 09:48
标题: 在arkts中,时间戳如何转换为正常的日期格式
[md]1. 可以使用 `date.getFullYear(), date.getMonth(),date.getDate()`来转换
2. 如果是毫秒级,可以直接通过这样的函数进行转换(若为秒级,乘以1000再转换即可):

   ```
   function timestampToDate(timestamp: number) {
     const date = new Date(timestamp);

     return {
       year: date.getFullYear(),
       month: date.getMonth() + 1,
       day: date.getDate()
     };
   }
   ```
[/md]




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5