簡體   English   中英

僅使用Moment JS將Microsoft JSON日期轉換為本地DateTime

[英]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)/')

同樣,您可以調用formattoDate ,但請注意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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM