簡體   English   中英

如何使用javascript將毫秒轉換為gmt時間

[英]how to convert milliseconds to gmt time using javascript

我有一個項目,如果將結束日期設置為2月12日(可以設置為任何將來的日期),則可以從API響應中獲得以下內容。

項目:{endDateTime:“ 1518393600000”}

對於UTC時間和日期,該響應對應於2018年2月12日星期一00:00:00

對於當地時間和日期,響應對應於Sun Feb 11 2018 19:00:00(GMT-05:00)

在用戶界面上,我需要將結束日期顯示為2018年2月12日,但是該日期將轉換為本地日期和時區,並顯示2月11日作為結束日期。 我的代碼如下:

var d = new Date();  
var c = d.setTime(parseInt($scope.project.endDateTime));  
$scope.endDateTime = c;

在html中

<div> {{endDateTime}} </div>  

我嘗試按照以下方式修改代碼,但沒有成功。

 var d = new Date($scope.project.endDateTime);
 var c = d.getUTCDate();
 $scope.endDateTime = c;  

我試圖以其他方式調整代碼,但無法正常工作。 我知道以前也曾提出過類似的問題,但即使花費了幾個小時,也仍然無法解決。 也許我缺少一些瑣碎的東西。 一些幫助將不勝感激。 :)

我已經解決了。 我的代碼和解釋如下

var d = new Date(parseInt($scope.project.endDateTime));
var c = c.toUTCString();
var endDate= c.split(" ");
$scope.endDateTime = endDate[2] + ' ' + endDate[1] + ',' + ' ' + endDate[3];  

和HTML是

<div> {{endDateTime}}</div>  

我需要解析從API響應返回的字符串。 錯過了這一部分,正確的方法是toUTCString() ,而不是getUTCDate()

因此,基本上發生的是,如果將結束日期設置為2月12日(在這種情況下,它是動態的),則API返回

project: {endDateTime:"1518393600000"}

代碼的第一行會分析字符串,如果我執行console.log(d) ,則會得到以下信息: Sun Feb 11 2018 19:00:00 GMT-0500(Eastern Standard Time)

現在我需要以格林尼治標准時間顯示時間,因此在第二行中使用toUTCString()方法並執行console.log(c)我得到: 格林尼治標准時間2018年2月12日星期一00:00:00

要求是在UI上顯示日期為20182月12日 ,所以我在第三行中分割了字符串,如果我做了console.log(endDate)我得到了

["Mon,", "12", "Feb", "2018", "00:00:00", "GMT"]

從第三行的輸出中,很容易顯示所需的日期格式。 希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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