【问题标题】:Time different in Javascript Date Object [duplicate]Javascript日期对象中的时间不同[重复]
【发布时间】:2014-12-09 10:08:50
【问题描述】:

我在 angularjs 中创建了一个应用程序,在其中我为日期 21/10/2014 07:30AM 添加了一个 javascript 日期,为了使其成为日期对象,我如下所示

 new Date(2014, 10, 21, 07, 30);

但有趣的是,当我打印出来时,我得到了喜欢

2014-11-21T13:30:00.000Z

我的代码如下所示

JSFiddle

var app = angular.module('myApp', []);
app.controller('Controller', function ($scope) {
    $scope.myValues = {};
    $scope.myValues.start = new Date(2014, 10, 21, 07, 30);
});

谁能告诉我为什么时间不同,我该如何纠正,因为我是通过 php 将它保存在数据库中的,还有很多地方我只需要获取时间

【问题讨论】:

  • @Qantas94Heavy bose 这是关于时间而不是月份的问题,我也知道 javascript 中的月份从 0-11 开始
  • 差异主要等于您的时区偏移量。您应该添加/删除时区效果,或尝试使用$scope.myValues.start.toISOString() 打印它
  • @harish 我们如何添加它......
  • 对我来说这似乎是一个时区问题。您是否在中美洲时区?
  • @AlexMan 使用 toISOString 方法打印

标签: javascript angularjs datetime


【解决方案1】:

在这种情况下,您可以进行一些自定义格式

单独的年月日小时.. 并重新排列它们以创建一个 sql datetime 兼容字符串

这是工作的Fiddle

【讨论】:

  • 这也是为什么我无法将其作为2014-11-21 07:30:00 而不是2014-11-21 01:30:00 获得的原因
  • 更新了小提琴请检查
  • 是的很好,但你的问题是日期对象像new Date(2014, 10, 21, 07, 30)
  • 是的,我也在使用$scope.myDate = new Date('2014-11-21 07:30:00');
猜你喜欢
  • 2014-01-21
  • 1970-01-01
  • 2013-04-24
  • 2012-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-25
  • 2018-10-10
相关资源
最近更新 更多