我有一个项目,如果结束日期设置为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;
我尝试以其他方式调整代码但无法使其工作。我知道之前已经提出了类似的问题,但即使花了几个小时,仍然无法让它工作。也许我错过了一些非常微不足道的事情。一些帮助将不胜感激。 :)
答案 0 :(得分:0)
我已经找到了解决方案。我的代码和解释如下
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(东部标准时间)
现在我需要在GMT中显示时间,以便在第二行使用toUTCString()
方法并执行console.log(c)
我得到:周一,2018年2月12日00:00:00 GMT 强>
要求是在UI上显示日期为 2018年2月12日,所以我在第三行分割字符串,如果我console.log(endDate)
我得到
["Mon,", "12", "Feb", "2018", "00:00:00", "GMT"]
从第三行的输出中,很容易显示所需的日期格式。希望这会有所帮助。