當前位置: 首頁>>技術問答>>正文


jQuery日期格式化

怎樣才能使用jQuery格式化日期?例如,直接使用下麵的代碼會錯誤:

 $("#txtDate").val($.format.date(new Date(), 'dd M yy'));

有哪些解決方法?

最佳解決辦法

jQuery dateFormat是一個單獨的插件。您需要使用<script>標簽明確加載。

jquery日期格式化

次佳解決辦法

也可以在頁麵中添加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)

參考文獻

本文由《純淨天空》出品。文章地址: https://vimsky.com/zh-tw/article/3700.html,未經允許,請勿轉載。