[英]convert date time to specific format in javascript or jquery?
我有日期时间不同的数据集,例如: 星期一12月26 2016 16:25:01 GMT + 0500(巴基斯坦标准时间),
我已经将上面提到的时间转换成我在jquery中的dateformat,但是我需要转换另一列,这完全像这样,但是它在html表的一行中有多个日期,如下所示
我希望最后一列完全转换为第一列
这是我的JQuery代码
$(document).ready(function() {
$('.dateField').each(function() {
var date = new Date($(this).text());
var dformat = [ (date.getMonth()+1),
date.getDate(),
date.getFullYear()].join('/')+
' ' +
[ date.getHours(),
date.getMinutes(),
date.getSeconds()].join(':');
$(this).text(dformat);
});
});
您的代码基本上就在那里,您只需要执行少量的额外操作:
(1)分割日期字符串,可以用逗号分隔,
(2)转换为日期(您已经完成)并
(3)休息一下(您可能喜欢...)
请参见下面的jsFiddle输出:
$(document).ready(function() { $('.dateField').each(function() { var sDate = new $(this).text(); // string date(s) (may be separated by comma(s)) var aDate = sDate.split(','); // array of dates for(var i = 0, length = aDate.length; i < length; i++) { // Convert date format var date = new Date(aDate[i]); var dformat = [(date.getMonth() + 1), date.getDate(), date.getFullYear() ].join('/') + ' ' + [ date.getHours(), date.getMinutes(), date.getSeconds() ].join(':'); aDate[i] = dformat; } $(this).html(aDate.join('<br>')); // join dates with breaks in between }); });
td { border: 1px solid black; vertical-align:top; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table> <tr> <td class="dateField"> Mon Dec 26 2016 16:25:01 GMT+0500 (Pakistan Standard Time) </td> <td class="dateField"> Mon Dec 26 2016 16:25:01 GMT+0500 (Pakistan Standard Time),Mon Dec 26 2016 16:25:01 GMT+0500 (Pakistan Standard Time) </td? </tr> </table>
您可能希望将转换器更改为使月,日,小时,分钟和秒<9前面零填充,即9-> 09
function ZeroPad(val) { if(val * 1 < 10) { return '0' + val; } return val; } $(document).ready(function() { $('.dateField').each(function() { var sDate = new $(this).text(); // string date(s) (may be separated by comma(s)) var aDate = sDate.split(','); // array of dates for(var i = 0, length = aDate.length; i < length; i++) { // Convert date format var date = new Date(aDate[i]); var month = date.getMonth() + 1; var day = date.getDate(); var hour = date.getHours(); var min = date.getMinutes(); var sec = date.getSeconds(); var dformat = [ ZeroPad(month), ZeroPad(day), date.getFullYear() ].join('/') + ' ' + [ ZeroPad(hour), ZeroPad(min), ZeroPad(sec) ].join(':'); aDate[i] = dformat; } $(this).html(aDate.join('<br><br>')); // join dates with breaks in between }); });
td { border: 1px solid black; vertical-align:top; width: 100px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table> <tr> <td class="dateField"> Wed Jan 6 2016 06:05:01 GMT+0500 (Pakistan Standard Time) </td> <td class="dateField"> Mon Dec 26 2016 16:25:01 GMT+0500 (Pakistan Standard Time),Tue Dec 27 2016 04:02:03 GMT+0500 (Pakistan Standard Time) </td? </tr> </table>
UPDATE
添加了条件以检查当前字符串是否为空。 否则,输出将包括NaN NaN。 并包括jsfiddle链接。
您需要分割两个日期(字符串),然后将已编写的代码应用于每个字符串,如下所示:
$(document).ready(function() {
$('.dateField').each(function() {
var colVal = "";
var str = $(this).text();
var arr = str.split(",");
for(var i=0; i<arr.length; i++)
{
if(arr[i]!="")
{
var myDate = new Date(arr[i]);
var newDateStr = [ (myDate.getMonth()+1),
myDate.getDate(),
myDate.getFullYear()].join('/')+
' ' +
[ myDate.getHours(),
myDate.getMinutes(),
myDate.getSeconds()].join(':');
colVal +=newDateStr+'<br />';
}
}
});
});
jsfiddle: https ://jsfiddle.net/up8qr8qv/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.