[英]Convert Microsoft JSON Date to Local DateTime Using Moment JS Only
JSON日期:'/日期(1373428800000)/'最終結果:2013年7月9日美國東部時間晚上8點
目前我分三個步驟:
var a = cleanJsonDate('JsonDate');
var b = formatDate(a); // 7/10/2013 12:00 AM
var c = moment.utc(b); // 7/9/2013 8:00 PM
return c;
是否有可能僅使用時刻js來完成相同的結果?
----更新-----
結合@ThisClark和@Matt答案。 我盡可能接近目標; 然而,'h'格式由於某種原因不起作用,我仍然得到20.00.00而不是8:00
var m = moment.utc(moment('/Date(1373428800000)/').format('M/D/YYYY h:m A')).toDate(); alert(m);
<script src="http://momentjs.com/downloads/moment.min.js"></script>
moment.js本身已經支持這種格式。 直接傳遞它。
moment('/Date(1373428800000)/')
然后,您可以使用任何時刻函數,例如.format()
或.toDate()
如果你想要UTC,那么做:
moment.utc('/Date(1373428800000)/')
同樣,您可以調用format
或toDate
,但請注意toDate
將生成一個Date
對象,該對象仍將具有本地時間行為。 除非您絕對需要Date
對象,否則您應該堅持使用format
和其他時刻函數。
我沒有看到你的所有代碼,但如果你可以從json中獲得毫秒的值1373428800000
,那么你可以直接將它傳遞給它。 我認為formatDate
是你寫的一個函數。 它是否做了一些重要的事情,比如你需要使用moment.js來操縱時間,還是只使用瞬間的格式函數?
var date = 1373428800000; var m = moment.utc(date); //var m = moment.utc(date).format('M/D/YYYY H:mm A'); <-- alternative format alert(m);
<script src="http://momentjs.com/downloads/moment.min.js"></script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.