moment.js时间戳与时间相互转换

JavaScript时间与时间戳转换示例
博客给出了JavaScript中时间与时间戳转换的示例。包括使用new Date()获取时间,Date.parse()将时间转为时间戳,以及moment库进行时间与时间戳的相互转换,如moment(time).valueOf()和moment(timestamp).format()。

举例

时间:var time = new Date(); // Tue Aug 28 2018 09:16:06 GMT+0800 (中国标准时间)

时间戳:var timestamp = Date.parse(time); // 1535419062000 (Date.parse() 默认不取毫秒,即后三位毫秒为0)

moment转时间戳:moment(time).valueOf(); // 1535419062126

moment转时间:moment(timestamp).format(); // 2018-08-28T09:17:42+08:00

### 如何使用 Moment.js 处理时间戳JavaScript 开发中,`Moment.js` 提供了一种简便的方法来处理时间戳。通过该库可以轻松地将 Unix 时间戳转换为可读的日期字符串,并执行各种日期运算。 #### 安装 Moment.js 为了能够在项目中使用 `Moment.js`,首先需要将其安装到项目依赖中: ```bash npm install moment --save ``` #### 导入并初始化 完成安装之后,在代码文件顶部导入 `Moment.js` 库以便后续调用其函数: ```javascript import moment from 'moment'; ``` #### 将时间戳转换为指定格式的时间字符串 假设有一个十位数的时间戳(单位:秒),可以通过如下方式将其转换为特定格式的日期字符串: ```javascript function convertTimestamp(timestamp) { // 十位数时间戳乘以1000变为毫秒级时间戳 const formattedTime = moment.unix(timestamp).format('YYYY-MM-DD HH:mm:ss'); return formattedTime; } ``` 此段代码会返回形如 "2023-09-18 17:45:30" 的字符串表示形式[^4]。 #### 计算两个时间之间的差异 如果想要知道某个给定时间距离现在过去了多久,可以用下面的方式实现: ```javascript function timeDifferenceFromNow(unixTimestampInSeconds) { let duration = moment.duration(moment().diff(moment.unix(unixTimestampInSeconds))); let daysDiff = Math.floor(duration.asDays()); return `${daysDiff} day(s)`; } ``` 这段代码计算了传入的时间戳相对于当前时刻所经过的日差数量[^1]。 #### 自定义过滤器应用于 Vue 组件 对于基于 Vue 构建的应用程序来说,还可以创建全局过滤器来进行更灵活的数据展示控制: ```javascript Vue.filter('formatDate', function(value, formatString='YYYY-MM-DD HH:mm:ss') { if (value === null || value === undefined) return ''; return moment.unix(value).format(formatString); }); ``` 这样就可以直接在模板里像 {{ timestamp | formatDate }} 这样简单地应用自定义格式化规则[^5]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值