0

我有一长串日期。看起来像这样:2012 年 6 月 18 日星期一 19:00:00。我的问题很简单。我希望它像这样显示:dd/mm/yyyy HH:mm (HH implament for 24 hours) 我正在使用 jQuery 及其所有 UI。请不要告诉我添加这个 Date.js 类。肯定可以通过简单的 jQuery 来完成 :) 谢谢!

4

2 回答 2

1

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

使用 jQUEeryUI 的示例: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 日期文档

于 2012-06-18T00:02:25.827 回答
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/

于 2012-06-17T23:44:07.207 回答