怎樣才能使用jQuery格式化日期?例如,直接使用下麵的代碼會錯誤:
$("#txtDate").val($.format.date(new Date(), 'dd M yy'));
有哪些解決方法?
最佳解決辦法
jQuery dateFormat是一個單獨的插件。您需要使用<script>
標簽明確加載。
次佳解決辦法
也可以在頁麵中添加jQuery UI插件。
$("#txtDate").val($.datepicker.formatDate('dd M yy', new Date()));
第三種解決辦法
如果不想使用jQuery插件的話,一種方法是使用簡單的js date()函數:
例如。:
var formattedDate = new Date("yourUnformattedOriginalDate");
var d = formattedDate.getDate();
var m = formattedDate.getMonth();
m += 1; // JavaScript months are 0-11
var y = formattedDate.getFullYear();
$("#txtDate").val(d + "." + m + "." + y);
請參閱:10 ways to format time and date using JavaScript
如果想添加前導零到日/月,這是一個很好的例子:Javascript add leading zeroes to date
如果想添加前導零到時間試試這個:getMinutes() 0-9 – how to with two numbers?
第四種辦法
跟次佳方法稍微不同的語法/上下文:
var dt_to = $.datepicker.formatDate('yy-mm-dd', new Date());
如果決定使用JQuery UI中的日期選擇器,確保在文檔的<頭>部分:
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
第五種辦法
一個非常基本的功能,不需要任何外部插件:
$.date = function(dateObject) {
var d = new Date(dateObject);
var day = d.getDate();
var month = d.getMonth() + 1;
var year = d.getFullYear();
if (day < 10) {
day = "0" + day;
}
if (month < 10) {
month = "0" + month;
}
var date = day + "/" + month + "/" + year;
return date;
};
使用:
$.date(yourDateObject);
結果:
dd/mm/yyyy
第六種辦法
還可以使用Moment JS,易用性不錯。
var date = moment(); //Get the current date
date.format("YYYY-MM-DD"); //2014-07-10
第七種辦法
下麵這個代碼能夠解決上麵的問題。
var d = new Date();
var curr_day = d.getDate();
var curr_month = d.getMonth();
var curr_year = d.getFullYear();
var curr_hour = d.getHours();
var curr_min = d.getMinutes();
var curr_sec = d.getSeconds();
curr_month++ ; // In js, first month is 0, not 1
year_2d = curr_year.toString().substring(2, 4)
$("#txtDate").val(curr_day + " " + curr_month + " " + year_2d)
第八種辦法
簡單的一段代碼即可:
var date_str=('0'+date.getDate()).substr(-2,2)+' '+('0'+date.getMonth()).substr(-2,2)+' '+('0'+date.getFullYear()).substr(-2,2);
第九種辦法
如果日期值是一個格式為mm/dd/yyyy
的字符串(就像使用date-picker時),那麽不需要使用jQuery插件。
var birthdateVal = $('#birthdate').val();
//birthdateVal: 11/8/2014
var birthdate = new Date(birthdateVal);
//birthdate: Sat Nov 08 2014 00:00:00 GMT-0500 (Eastern Standard Time)