使用 JavaScript 格式化日期
format date using javascript
JavaScript中的格式日期有问题,这是我的函数代码
//originalDate = '2016-03-02 09:12:14.989522';
var d = new Date(originalDate),
month = d.getMonth() + 1,
day =d.getDate(),
year = d.getFullYear(),
hour = d.getHours(),
min = d.getMinutes();
alert([day, month, year].join('-')+' '+[hour,min].join(':'));
和my original date ='2016-03-02 09:12:14.989522';
而且我的代码总是return 'Nan-Nan-Nan Nan:Nan'
,看到我传递的原始日期未知。有什么帮助吗?
注意:我的日期数据库中的数据类型是timestamp
简单的解决方案:将date
字符串中的空格替换为"T"。
(但是,为了在技术上完全正确,您还应该在末尾包含一个时区指示器,或者一个额外的"Z"来表示 UTC,即协调世界时,或者"+hh:mm"或"-hh:mm"来表示时区偏移量。
MDN 网站Date.parse()
写道:
由于日期字符串解析的差异,...结果不一致,尤其是在不同的 ECMAScript 实现中,其中像"2015-10-12 12:00:00"这样的字符串可能会被解析为 NaN、UTC 或本地时区。
和
日期时间字符串可能采用 ISO 8601 格式。
上面提到的ISP 8601规范写道:
格式如下。此处显示的组件必须完全存在,并且恰好带有此标点符号。请注意,"T"字面意思出现在字符串中,表示 ISO 8601 中指定的时间元素的开头。
和
完整的日期加上小时、分钟、秒和 第二个 YYYY-MM-DDThh:mm:ss.sTZD (例如 1997-07-16T19:20:30.45+01:00)
这是您重写的代码,将date
中的空格替换为"T"。如果这在您的浏览器中不起作用,请在 date
的末尾添加"Z"或时区偏移量。
var date ='2016-03-02T09:12:14.989522';
var d = new Date(date),
month = d.getMonth() + 1,
day = d.getDate(),
year = d.getFullYear(),
hour = d.getHours(),
min = d.getMinutes();
document.write([day, month, year].join('-') + ' ' + [hour, min].join(':'));
代码中的 date
参数是Date
对象吗?那行不通。Javascript中没有这样的构造函数。不过你可以使用date.now()
。
在此处查看有效的构造函数以获取Date
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date
首先解析原始日期,然后在代码中使用它。
var MilliSecond=Date.parse(originalDate);
var d=new Date(MilliSecond),
month=d.getMonth()+1,
day=d.getDay(), .......
- 将字符串转换为格式化日期
- 用Javascript重新格式化复杂文本日期字符串的更好方法
- 如何将日期字符串视为格式化数组[EYEAR,MONTH,DAY]
- 如何将日期拆分为格式化的日期和时间
- 从Parse.com返回的格式化日期
- 如何用javascript格式化日期
- 格式化momentjs日期时间
- 无法格式化keystone.js中的嵌套日期字段
- 生成并格式化当前日期和时间
- 在瞬间格式化日期.js给出 1/1/2016
- Javascript:根据当前日期检查格式化的日期值
- Safari浏览器中的格式化日期不正确
- 格式化 JSON 日期
- JS中的PHP日期格式化
- 从RSS馈送到“”的日期格式化程序;时间.ago”;
- 使用javascript进行日期格式化在IE10上不起作用
- 日期格式化程序函数给我一个负数
- Javascript日期格式化星期五六月21 00:00:00 UTC+0100 2013到iso 8601(2013-
- 日期格式化熊猫- Python
- 是否有一个jQuery日期格式化插件,可以处理多个时区和适当的夏令时