您的位置:

深入浅出moment转换时间格式

一、moment是什么

moment是一个JavaScript库,可以方便的解析、验证、操作和显示日期和时间。它可以将日期和时间字符串解析成JavaScript Date对象,也可以将JavaScriptDate对象格式化为友好的字符串。moment.js非常受欢迎,因为它是一个非常简单、灵活和易于使用的库。

二、为什么要使用moment

在使用JavaScript时,处理日期和时间通常是很困难的。JavaScript本身对日期和时间的支持不如其他编程语言那么方便。尤其是在跨浏览器和跨平台时,日期和时间的格式也可能有所不同。

moment.js可以解决这些问题。它可以轻松地操作日期和时间,比如格式化日期和时间、计算两个时间之间的差异以及将时间转换为其他时区的时间。

三、moment基础使用

要使用moment.js,需要先在HTML文件中引入moment.js库文件。

<script src="moment.js"></script>

引入库文件后,可以使用moment()函数来获取当前时间。

var currentDate = moment();

使用.format()方法可以将当前时间格式化为指定的字符串格式。

var formattedDate = currentDate.format('YYYY-MM-DD'); // 2021-09-28

四、转换时间格式

1、日期格式化

使用.format()方法将日期格式化为指定的字符串格式。


var date = moment('2021-09-28');
var formattedDate = date.format('YYYY年MM月DD日');
// output: "2021年09月28日"

2、时间格式化

使用.format()方法将时间格式化为指定的字符串格式。


var time = moment('2021-09-28 13:30');
var formattedTime = time.format('hh:mm A');
// output: "01:30 PM"

3、日期时间格式化

使用.format()方法将日期和时间格式化为指定的字符串格式。


var dateTime = moment('2021-09-28 13:30');
var formattedDateTime = dateTime.format('YYYY年MM月DD日 hh:mm A');
// output: "2021年09月28日 01:30 PM"

4、相对时间格式化

使用.from()方法将日期或时间转换为相对时间。比如“几天前”、“几小时前”、“几分钟前”等。


var now = moment();
var past = moment('2021-09-24');
var diffDays = now.diff(past, 'days');
var formattedRelativeTime = past.from(now);
// output: "4 days ago"
// 若需要中文结果则:output: "4天前"

五、总结

moment.js是一个非常实用的JavaScript库,可以轻松地解析、验证、操作和显示日期和时间,可以解决JavaScript原生处理日期和时间的麻烦,具有非常高的灵活性和可扩展性。