当前位置:  开发笔记 > 编程语言 > 正文

为什么New Date()总是返回null?

如何解决《为什么NewDate()总是返回null?》经验,为你挑选了1个好方法。

如果是日期格式 $scope.timestamp = '2016-12-16 07:02:15 am'

我想格式化 16/12/2016 07:02:15 am

我已经尝试过以下代码并且它运行良好

$scope.originalStamp = $filter('date')
                          (new Date($scope.timestamp.replace("-","/")),'dd-MM-yyyy HH:mm:ss a');

但我的问题是,为什么new Date($scope.timestamp)总是返回null如果不使用替换( - )到(/)的字符?

如果没有使用,请参阅以下代码无效 replace().

$scope.originalStamp = $filter('date')
                              (new Date($scope.timestamp),'dd-MM-yyyy HH:mm:ss a');

new Date()如果日期格式有( - ),为什么不接受?新的Date()转换是否取决于我的系统日期格式?

RobG.. 6

如果日期格式为( - ),为什么新的Date()不接受?

除了ECMA-262中包含的ISO 8601的有限子集之外的日期字符串的解析是依赖于实现的.您可能会得到正确的结果,错误的结果或无效的日期.因此,强烈建议不要使用Date构造函数或Date.parse来解析字符串(它们等同于解析),始终使用库或定制函数手动解析字符串.

新的Date()转换是否取决于我的系统日期格式?

不是.约定支持许多格式(请参阅MDN日期),但是您不应该依赖它,因为某些浏览器在某些浏览器中解析或解析不同,而不是其他浏览器.

您可以尝试以下其中一个库:

    Moment.js:解析,格式化,算术,操作

    Fecha.js:只是解析和格式化

PS

如果您只想将'2016-12-16 07:02:15 am'重新格式化为'2016年12月12日上午07:02:15',那么:

// Reformat a date like '2016-12-16 07:02:15 am' as
// '16/12/2016 07:02:15 am'
function reformatDate(s) {
  var b = s.split(/[ -]/);
  return [b[2],b[1],b[0]].join('/') + ' ' + b[3] + ' ' + b[4];
}
 
var s = '2016-12-16 07:02:15 am';
console.log(s + ' => ' + reformatDate(s))



1> RobG..:

如果日期格式为( - ),为什么新的Date()不接受?

除了ECMA-262中包含的ISO 8601的有限子集之外的日期字符串的解析是依赖于实现的.您可能会得到正确的结果,错误的结果或无效的日期.因此,强烈建议不要使用Date构造函数或Date.parse来解析字符串(它们等同于解析),始终使用库或定制函数手动解析字符串.

新的Date()转换是否取决于我的系统日期格式?

不是.约定支持许多格式(请参阅MDN日期),但是您不应该依赖它,因为某些浏览器在某些浏览器中解析或解析不同,而不是其他浏览器.

您可以尝试以下其中一个库:

    Moment.js:解析,格式化,算术,操作

    Fecha.js:只是解析和格式化

PS

如果您只想将'2016-12-16 07:02:15 am'重新格式化为'2016年12月12日上午07:02:15',那么:

// Reformat a date like '2016-12-16 07:02:15 am' as
// '16/12/2016 07:02:15 am'
function reformatDate(s) {
  var b = s.split(/[ -]/);
  return [b[2],b[1],b[0]].join('/') + ' ' + b[3] + ' ' + b[4];
}
 
var s = '2016-12-16 07:02:15 am';
console.log(s + ' => ' + reformatDate(s))
推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有