毫秒数转日期

今天在做商品评论的时候接口返回 createTime: 1452482112746  这样的时间,这是什么鬼(第一次遇到 哈哈)。后来问了一下朋友才知道这是毫秒。并且可以转成日期格式的。。。。

支持格式为 yyyy.MM.dd G 'at' hh:mm:ss z 如 '2002-1-1 AD at 22:10:59 PSD'
   * yy/MM/dd HH:mm:ss 如 '2002/1/1 17:55:00'
    * yy/MM/dd HH:mm:ss pm 如 '2002/1/1 17:55:00 pm'
    * yy-MM-dd HH:mm:ss 如 '2002-1-1 17:55:00' 

   * yy-MM-dd HH:mm:ss am 如 '2002-1-1 17:55:00 am' 


//毫秒数转日期
long sd= Long.parseLong(mDatas.get(position).getCreateTime());
Date dat=new Date(sd);
GregorianCalendar gc = new GregorianCalendar();
gc.setTime(dat);
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String sb=format.format(gc.getTime());
System.out.println(sb);
holder.mEvaluateCreateTime.setText(sb);

记录一下

<think>好的,我现在需要帮助用户将毫秒换为日期格式。用户提到使用dayjs,可能是指他们已经安装了dayjs库或者打算使用它。首先,我应该确认用户使用的编程语言,但根据提供的引用内容,用户可能是在JavaScript或TypeScript环境中工作,因为引用了antd组件和dayjs库。接下来,我需要回忆如何使用dayjs来处理毫秒。根据引用4,用户已经有使用dayjs日期的经验,比如将Date对象换为YYYY-MM-DDHH:mm:ss格式。因此,毫秒的步骤应该类似。步骤一:确保dayjs已安装。根据引用5,用户可能需要先安装dayjs,所以需要提示他们通过npm安装。但用户的问题可能已经安装了,不过还是应该提到这一点以防万一。 步骤二:将毫秒传递给dayjs。因为dayjs可以直接接受毫秒作为参,比如dayjs(毫秒)。然后使用format方法指定想要的格式,比如YYYY-MM-DD。可能的错误点:用户是否传递正确的毫秒?比如,是否是13位的时间戳(JavaScript的标准),如果是10位的秒级时间戳,需要乘以1000换为毫秒。另外,用户可能需要处理时区问题,但根据引用中的例子,可能默认使用本地时间,如果需要UTC,需要调用.utc()方法。 然后,根据用户提供的引用,比如引用4中的例子,使用dayjs(newDate()).format(...),但使用毫秒的话,可以直接传入值。例如,dayjs(1634047200000).format('YYYY-MM-DD')。 还需要考虑是否需要处理无效的毫秒,比如非字的情况,但用户的问题可能假设输入是有效的。最后,生成相关问题,可能涉及其他换方法、时区处理或性能优化,根据引用中的内容,比如使用toLocaleDateString或者DatePicker组件的问题,可以提出相关问题。</think>### 将毫秒换为日期格式的方法 #### 1. **使用`dayjs`库实现** - **安装dayjs**(若未安装): ```bash npm install dayjs ``` - **代码示例**: ```javascript import dayjs from 'dayjs'; // 假设毫秒为 timestamp(如 1634047200000) const timestamp = 1634047200000; const formattedDate = dayjs(timestamp).format('YYYY-MM-DD HH:mm:ss'); console.log(formattedDate); // 输出:2021-10-12 00:00:00 ``` - **关键点**: - `dayjs()` 直接接受毫秒作为参[^4]。 - 若时间戳是秒级(10位),需先乘以1000换为毫秒级[^4]。 #### 2. **原生JavaScript实现** ```javascript const timestamp = 1634047200000; const date = new Date(timestamp); const formattedDate = `${date.getFullYear()}-${String(date.getMonth()+1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}`; console.log(formattedDate); // 输出:2021-10-12 ``` - **说明**: - `new Date()` 可直接解析毫秒生成日期对象。 - 使用`padStart(2, '0')`确保月份和日期为两位[^2]。 #### 3. **处理时区问题** - 若需换为UTC时间: ```javascript const utcDate = dayjs(timestamp).utc().format('YYYY-MM-DD HH:mm:ss'); ``` - 使用`.utc()`方法切换为协调世界时[^4]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值