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

2024-03-30

如果日期格式是$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');

Why the new Date()如果日期格式带有(-)则不接受? new Date() 转换是否取决于我的系统日期格式?


为什么 new Date() 不接受带有 (-) 的日期格式?

解析除有限子集之外的日期字符串ISO 8601 包含在 ECMA-262 中 http://ecma-international.org/ecma-262/7.0/index.html#sec-date-time-string-format取决于实现。您可能会得到正确的结果、错误的结果或无效的日期。因此强烈建议不要使用Date构造函数或日期解析要解析字符串(它们与解析等效),请始终使用库或定制函数手动解析字符串。

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

否。约定支持多种格式(请参阅MDN Date https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date),但是您不应该依赖它,因为某些浏览器会在某些浏览器中进行解析或以不同方式进行解析,但在其他浏览器中则不然。

您可以尝试以下库之一:

  1. Moment.js http://momentjs.com:解析、格式化、算术、操作
  2. Fecha.js https://github.com/taylorhakes/fecha: 只是解析和格式化

PS

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

// 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))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 New Date() 总是返回 null? 的相关文章

  • 为什么可以从 console.log 访问 JavaScript 私有方法

    我写了一个简单的代码 const secure new class privateProperty 4 privateMethod console log The property this privateProperty should n
  • 查找并删除 Javascript 对象数组中的第一个匹配元素

    假设我有一个数组 members name Anna class one name Bob class two name Chuck class two removed members myRemoveByClass two somethi
  • 在网页上写乐谱[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我希望能够在网页中编写乐谱和和弦 有没有可用的库 例如用于数学的 Mathjax 如果没有 那么还有其
  • Iphone 上的 Javascript 日期解析

    我正在开发一个针对移动设备的离线 Javascript 网站 iPhone 就是这样的一种移动设备 我正在尝试从 REST API JSON 对象的成员 解析日期 我在用着 Date parse 2010 03 15 10 30 00 这适
  • 检查复选框是否被选中? [复制]

    这个问题在这里已经有答案了 如何通过 jQuery 检查复选框是否被选中 我可以只向元素添加 ID 或类并执行此操作吗 if element val 1 do stuff if element is checked checkbox is
  • 如何使用 LeafLe 创建商店地图

    我希望创建一个可以交互的地图 我发现的最好的选择是传单 问题是我没有找到任何资源来解释如何创建自己的地图 我希望创建一个商场地图 用户可以在其中看到所有商店 喷泉 我怎样才能做到这一点 最好的起点是传单示例页面 http leafletjs
  • JavaScript 对象镜像/单向属性同步

    出于安全目的 我需要一个 镜像 对象 也就是说 如果我创建对象 A 并浅克隆 A 的副本并将其称为 B 则每当 A 的属性发生更改时 我希望 B 自动更新自身以反映更改 但反之则不然 换句话说 单向属性同步 我的问题 是否已经存在我不知道的
  • 如何将除 Web API 之外的所有内容路由到 /index.html

    我一直在研究一个AngularJS项目 在 ASP NET MVC 内部使用 Web API 除非您尝试直接访问有角度的路由 URL 或刷新页面 否则它效果很好 我认为这将是我可以处理的事情 而不是胡闹服务器配置MVC的路由引擎 当前的We
  • 在气球内显示带有照片的多个地标的最佳做法是什么?

    我有一个项目如下 从手机上拍摄几张照片 将照片保存在网络系统中 然后将照片显示在其中的谷歌地球上 我读过很多文章 但它们都使用 fetchKml 我读过的一篇好文章是使用 php 但使用 fetchKml 我不知道是否可以使用 parseK
  • 使用javascript向url添加哈希而不滚动页面?

    在不滚动页面的情况下向 url 添加哈希 使用 JavaScript 我打开页面 我向下滚动 我单击添加哈希的链接 可能带有值 test 示例 http www example com test http www example com t
  • 有没有等效的 gulp 插件来执行“grunt Bower”?

    With grunt 我可以使用命令grunt bower 由 提供grunt bower requirejs https github com ck86 gulp bower files 自动生成RequireJS我本地的配置文件bowe
  • 当 Django 管理弹出窗口(绿色加号图标)完成时,是否有事件或其他方式调用 Javascript 函数?

    假设我们有这些 Django 模型 class Band models Model name models CharField max length 256 default Eagles of Death Metal class Song
  • AngularJS 和 Laravel - 跨域 CORS / XHR 请求缺少(记住)cookie

    当我不使用 Chrome 中的 disable web security 选项时 我的 CORS XHR 请求在请求标头中缺少 Remember xyz cookie 如果我启用该选项 remember xyz cookie 将包含在请求标
  • 检测 iPad Safari 用户的最佳方法

    添加用于检测 iPad Safari 用户的代码的最佳方法是什么 我的意思是我们应该使用 1 CSS 通过链接媒体 2 JS 通过navigator对象 我听说使用用户代理字符串并不是检测 iPad 的最佳方法 因为存在不一致的情况 请建议
  • 主干集合排序

    我制作了我的第一个主干应用程序 但在集合排序方面遇到了一些问题 使用这个后 var SortedFriends MyFriends sortBy function friend return friend get uid console l
  • FB.getLoginStatus() 不起作用

    我正在尝试编写一段代码来检查用户是否登录 发现FBJS API中有一个内置方法 叫做getLoginStatus 我已经在html中实现了它 但出于某种原因 getLoginStatus 内部的alert 不会被触发 我也尝试在 init
  • Angular 2 变更检测是如何工作的?

    在 Angular 1 中 更改检测是通过对 scope 层次结构进行脏检查来进行的 我们会在模板 控制器或组件中隐式或显式创建观察者 在 Angular 2 中 我们不再有 scope 但我们确实重写了 setInterval setTi
  • 如何使用 Javascript 从 Chrome iOS 下载 blob 文件?

    如何使用 Javascript 从 Chrome iOS 下载 blob 文件 我正在从 iOS 下载文件 pdf excel txt png iOS 没有文件系统 这对下载来说是一个问题 我创建了一个代码 根据操作系统和导航器 如果需要
  • 让管道自我刷新角度

    我有来自后端的静态时间戳 我想每 1 秒刷新一次管道以获取现在的日期 这是我的烟斗 import Pipe PipeTransform from angular core import moment from moment Pipe nam
  • Escape String - 在 Javascript 中输出rails字符串[重复]

    这个问题在这里已经有答案了 我正在尝试将字符串值分配给 erb 文件中的 javascript 对象 如下所示 var data name 问题是 如果name is Tom s small ears 的输出data name将会Tom x

随机推荐