当前位置: 首页>>技术问答>>正文


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/article/3700.html,未经允许,请勿转载。