我的数据集具有不同的日期时间,如此 2016年12月26日星期一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);
});
});
答案 0 :(得分:1)
你的代码基本上只有少量额外的东西:
(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
});
});
&#13;
td {
border: 1px solid black;
vertical-align:top;
}
&#13;
<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>
&#13;
您可能想要将转换器更改为数月,日,小时,分钟和时间。秒&lt; 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
});
});
&#13;
td {
border: 1px solid black;
vertical-align:top;
width: 100px;
}
&#13;
<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>
&#13;
答案 1 :(得分:1)
<强>更新强>
添加条件以检查当前字符串是否为空。否则输出将包括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/