首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

字符串日期格式转换有关问题

2012-05-03 
字符串日期格式转换问题。Jan 1, 2010 12:00:00 AM请问这种格式的字符串。怎么转换为2010-01-01 12:00:00 这

字符串日期格式转换问题。
Jan 1, 2010 12:00:00 AM
请问这种格式的字符串。
怎么转换为
2010-01-01 12:00:00 这种格式呢?
谢谢。

[解决办法]
js本身不能直接指定日期时间的输出格式的,new Date().toString(),或者toLocaleString 都是按操作系统区域设置里的时间日期格式输出的

如果是sql 数据库 通过 指定 convert(varchar(20),getdate(),120) 就可以指定输出2010-01-01 12:00:00这种格式

当然,在js里要想转,你可以自己写函数来处理。
[解决办法]

JScript code
var str = 'Jan 1, 2010 12:00:00 AM';str = str.substring(0, str.lastIndexOf(' '));var d = new Date(str);str = d.getFullYear() + '-' + ((d.getMonth() + 1 > 9) ? d.getMonth() + 1 : ('0' + (d.getMonth() + 1).toString())) + '-';str += (d.getDate() > 9 ? d.getDate() : '0' + d.getDate().toString()) + ' ';str += (d.getHours() > 9 ? d.getHours() : '0' + d.getHours().toString()) + ':';str += (d.getMinutes() > 9 ? d.getMinutes() : '0' + d.getMinutes().toString()) + ':';str += d.getSeconds() > 9 ? d.getSeconds() : '0' + d.getSeconds().toString();alert(str);//格式化输出的部分写得有点烦了,自己精简优化下。。。
[解决办法]
JScript code
var str = 'Jan 1, 2010 12:00:00 AM';str = str.substring(0, str.lastIndexOf(' '));var d = new Date(str);//改进一下格式化的代码,但是感觉还是挺麻烦,不知道是不是有更好的方法var ar_date = f([d.getFullYear(), d.getMonth() + 1, d.getDate()]);var ar_time = f([d.getHours(), d.getMinutes(), d.getSeconds()]);//补零小函数function f(ar) {    for(var i = 0; i < ar.length; i ++) if (ar[i] < 10) ar[i] = '0' + ar[i].toString();    return ar;}var result = ar_date.join('-') + ' ' + ar_time.join(':');alert(result);
[解决办法]
JScript code
        <script>            var s = 'Jan 1, 2010 12:00:00 AM';            var d = new Date(s.split('AM')[0]);            alert(d.toLocaleString().replace(/年|月/g, '-').replace('日', '').replace(/[\u4E00-\u9FFF]/g, ''));        </script> 

热点排行