繁体   English   中英

将日期时间转换为javascript或jquery中的特定格式?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM