[英]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上顯示日期為2018年2月12日 ,所以我在第三行中分割了字符串,如果我做了console.log(endDate)
我得到了
["Mon,", "12", "Feb", "2018", "00:00:00", "GMT"]
從第三行的輸出中,很容易顯示所需的日期格式。 希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.