[英]How to convert string to date format
我有如下的字符串格式数据
Dec 26, 2014, 09:56 ET
Dec 31, 2014, 21:30 ET
Dec 30, 2014, 13:36 ET
我想以以下日期格式输出
26-12-2014 09:56:00
31-12-2014 21:30:00
30-12-2014 13:36:00
我尝试使用下面的代码,但是它给出了不同的值。 纠正我可以将字符串转换为日期的语法
str2date(input,"MMM dd, YYYY, HH:mm 'ET'")
如果您不想使用外部库,可以尝试一下
<html> <head> <script type="text/javascript"> function addZero(i) { if (i < 10) { i = "0" + i; } return i; } function myDate () { var dateValue = new Date("Dec 26, 2014, 09:56"); var d = dateValue.getDate(); var m = dateValue.getMonth(); var y = dateValue.getFullYear(); var h = addZero(dateValue.getHours()); var mi = addZero(dateValue.getMinutes()); var s = addZero(dateValue.getSeconds()); var newDate = (d + '-' + m + '-' + y + ' ' + h + ':' + mi + ':' +s); document.write(newDate); } </script> </head> <body> <script> myDate(); </script> </body> </html>
使用图书馆是您最好的选择。 以下是使用MomentJS的示例;
var input = [ 'Dec 26, 2014, 09:56 ET', 'Dec 31, 2014, 21:30 ET', 'Dec 30, 2014, 13:36 ET' ]; var output = input.map(function(dateString) { return moment(dateString, "MMM DD, YYYY, HH:mm ZZ").format('DD-MM-YYYY HH:mm:ss'); }); console.log(JSON.stringify(output, undefined, ' '));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.4/moment.min.js"></script>
输出:
[
"26-12-2014 04:56:00",
"31-12-2014 16:30:00",
"30-12-2014 08:36:00"
]
<html> <head> <script src="http://momentjs.com/downloads/moment.min.js"></script> </head> <body> <script> var inputDate = 'Dec 26, 2014, 09:56:00'; var formatString = 'DD-MM-YYYY hh:mm:ss'; var outputDate = moment(inputDate).format(formatString); document.write(outputDate); </script> </body> </html>
<script> function strDate(str){ var m = str.match(/(\\w+) (\\d{1,2}), (\\d{4}), (\\d{1,2}):(\\d{1,2})/); var month = []; month['Jan'] = 1; month['Feb'] = 2; month['Mar'] = 3; month['Apr'] = 4; month['May'] = 5; month['Jun'] = 6; month['Jul'] = 7; month['Aug'] = 8; month['Sep'] = 9; month['Oct'] = 10; month['Nov'] = 11; month['Dec'] = 12; return (m[2] + '-' + month[m[1]] + '-' + m[3] + ' ' + m[4] + ':' + m[5] + ':00'); } alert(strDate("Dec 26, 2014, 09:56 ET")); </script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.