使用jquery将IETF日期格式转换为较短的格式

时间:2012-06-17 23:28:33

标签: jquery date

我有一长串约会。 看起来像那样:2012年6月18日星期一19:00:00。 我的问题很简单。 我希望它是这样的节目:dd / mm / yyyy HH:mm(HH植入24小时) 即时通讯使用jQuery及其所有UI。 请不要告诉我添加这个Date.js类。它可以通过简单的jQuery来完成:) 谢谢!

2 个答案:

答案 0 :(得分:1)

由于您加载了jQueryUI,因此内置了完整的日期格式化实用程序,但它不处理时间。除此之外,您需要自己使用本机javscript Date对象或使用date.js之类的数据库来简化解析。

使用jQUeryUI的示例:http://jsfiddle.net/qqLMd/

 var newDate=$.datepicker.formatDate('yy-mm-dd', new Date('Mon Jun 18 2012 19:00:00');    

http://docs.jquery.com/UI/Datepicker/formatDate

你确信这是一个简单的jquery过程是错误的。 jQuery在核心API中没有任何日期处理

MDN DATE Docs

答案 1 :(得分:0)

你可以使用substring()方法。

var longDate = 'Mon Jun 18 2012 19:00:00';

var date = longDate.substring(8,10);
var month = longDate.substring(4,7);
var year = longDate.substring(11,15);
var hours = longDate.substring(16,18);
var minutes = longDate.substring(19,21);

if(month == "Jan")
    month = "01";
else if(month == "Feb")
    month = "02";
else if(month == "Mar")
    month = "03";
else if(month == "Apr")
    month = "04";
else if(month == "May")
    month = "05";
else if(month == "Jun")
    month = "06";
else if(month == "Jul")
    month = "07";
else if(month == "Aug")
    month = "08";
else if(month == "Sep")
    month = "09";
else if(month == "Oct")
    month = "10";
else if(month == "Nov")
    month = "11";
else if(month == "Dec")
    month = "12";

var oriDate = date + "/" + month + "/" + year + " ";
if(hours == 0)
    oriDate += "00:";
else
    oriDate += hours + ":";
if(minutes == 0)
    oriDate += "00";
else
    oriDate += minutes;

alert(oriDate); // 18/06/2012 19:00

在这里查看jsfiddle:http://jsfiddle.net/reygonzales/v2tSb/