如何使用时刻将日期转换为另一种格式?
问题描述:
我想我的日期转换为使用moment
lib
我试图像其他格式,但没有得到预期的输出如何使用时刻将日期转换为另一种格式?
这里是我的代码
https://jsbin.com/kowuzaraju/edit?html,js,output
var date ="24 May 2017, 05:35";
//expected date using moment
var expectedDate="May 24, 2017, 05.35AM IST"
var a = moment(date,'mmm dd, yyyy hh:mm')
var b = moment(date).format('mmm dd, yyyy hh:mm')
//alert(a)
//alert('b')
VAR expectedDate =” 2017年5月24日,05:05AM IST“
答
首先,您必须解析你的输入字符串使用moment(String, String)
方法。在你的情况下,你可以使用'DD MMM YYYY, HH:mm'
作为第二个参数(DD
一个月中的某天,MMM
个月的名称,YYYY
年,HH
0-23小时,mm
分钟)。
然后,您可以使用format()
以所需的格式显示时刻对象。
这里工作示例:
var date ="24 May 2017, 05:35";
//var expectedDate="May 24, 2017, 05.35AM IST"
var a = moment(date,'DD MMM YYYY, HH:mm')
var b = a.format('MMM DD, YYYY, hh.mmA')
console.log(b);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
需要注意的是,默认情况下,时刻解析时间在本地时间,你有,如果你要带之间转换使用用途moment-timezone。如果你想显示IST
可以使用z
令牌里面format()
,因为医生说:
注:为1.6.0,在z/ZZ格式标记已经从普通的时刻对象过时。 Read more about it here.但是,他们做工作,如果您正在使用时区时区插件的特定时区。
这里使用一个样本矩时区:
var date ="24 May 2017, 05:35";
// Parse input specifying Asia/Kolkata timezone
var a = moment.tz(date, 'DD MMM YYYY, HH:mm', 'Asia/Kolkata');
// Format moment uzing z to show the timezone
var b = a.format('MMM DD, YYYY, hh.mmA z')
console.log(b);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.13/moment-timezone-with-data-2012-2022.min.js"></script>
'format'没有一个最后的'e',但除此之外,我不熟悉足够的时间,以进一步帮助你。 – Santi
请参阅片刻['format()'](http://momentjs.com/docs/#/displaying/format/),令牌区分大小写。 – VincenzoC