这是一个显示我在 UTC 时间中获得的日期的简单示例。我不知道如何使用 Angular 在浏览器的本地时间显示它。另外,如果它可以在更改时以 UTC 形式存储在 scope.StartDateTime 中,那就太酷了。我确信到目前为止我还没有找到某种转换方法。
<div ng-app="">
<div ng-controller="MyCtrl">
<input type="datetime" ng-model="StartDateTime">
</div>
function MyCtrl($scope) {
$scope.StartDateTime = '2014-07-04T19:31:34';//starts with UTC time
}
最佳答案
由于您已经有了可以通过 JS Date 构造函数轻松解析的格式,因此我建议您首先通过 Date 对象运行该值,然后导出(例如通过 .toString())。以下示例(在 NodeJS 中完成)说明了我的观点:
> (new Date("2014-07-04T19:31:34")).toString()
'2014 年 7 月 4 日星期五 14:31:34 GMT-0500 (CDT)'
Date 对象将为您处理本地化,并毫无问题地接受您的 UTC 时间。如果您希望 UTC 时间恢复,请使用 .toISOString()
。
您只需使用 Date(...) 构造函数包装变量赋值即可得到您想要的结果:
function MyCtrl($scope) {
$scope.StartDateTime = new Date('2014-07-04T19:31:34'); // starts with UTC time
}
关于javascript - 如何使用 Angular 将 UTC 时间转换、显示和编辑为浏览器本地时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24814341/