在arkts中,时间戳如何转换为正常的日期格式 精华

abcdef 来自手机 显示全部楼层 发表于 2023-12-12 17:07:06
在调用接口获取时间和时间戳的时候,很多时间接口的返回值都是1970年1月1日至今的毫秒/秒数;如何将它们转换为正常的日期格式呢?
您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论3

羊毛不卷

沙发 发表于 2023-12-13 09:26:16

在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:21
毫秒时间
方式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:21

在arkts中,时间戳如何转换为正常的日期格式

  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()
      };
    }

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部