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'
,我看到的是未知的originalDate。
有什么帮助吗?
注意:我的日期数据库中的数据类型为timestamp
答案 0 :(得分:1)
代码中的ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "none","<script>$('#mymodal').modal('show');</script>", false);
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "mymodal", "$('#mymodal').modal();", true);
参数是date
对象吗?那不会奏效。 Javascript中没有这样的构造函数。您可以使用Date
。
点击此处查看date.now()
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date
答案 1 :(得分:1)
简单解决方案:用“T”替换date
字符串中的空格。
(但是,为了在技术上完全正确,您还应在末尾添加时区指示符,或者指示UTC的附加“Z”,即协调世界时,或“+ hh:mm”或“-hh” :mm“表示时区偏移。)
由于解析日期字符串的差异,...结果不一致,尤其是在不同的ECMAScript实现中,其中“2015-10-12 12:00:00”之类的字符串可能被解析为NaN,UTC或本地时区。
和
日期时间字符串可能采用ISO 8601格式。
上面提到的ISP 8601 specs写道:
格式如下。确切地说,此处显示的组件必须存在,正好是这个标点符号。请注意,“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(':'));
答案 2 :(得分:0)
首先解析您的原始日期,然后在您的代码中使用它。
var MilliSecond=Date.parse(originalDate);
var d=new Date(MilliSecond),
month=d.getMonth()+1,
day=d.getDay(), .......