jQuery日期格式




jquery教學 (18)

我不太確定是否允許我回答2年前問過的問題,因為這是我在stackoverflow上的第一個答案,但這是我的解決方案;

如果您曾經從MySQL數據庫中檢索日期,請將其拆分,然後使用拆分後的值。

$(document).ready(function () {
    var datefrommysql = $('.date-from-mysql').attr("date");
    var arraydate = datefrommysql.split('.');
    var yearfirstdigit = arraydate[2][2];
    var yearlastdigit = arraydate[2][3];
    var day = arraydate[0];
    var month = arraydate[1];
    $('.formatted-date').text(day + "/" + month + "/" + yearfirstdigit + yearlastdigit);
});

這是一個fiddle

我如何使用jQuery格式化日期。 我正在使用下面的代碼,但得到錯誤:

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

請提出解決方案。


只需使用這個:

var date_str=('0'+date.getDate()).substr(-2,2)+' '+('0'+date.getMonth()).substr(-2,2)+' '+('0'+date.getFullYear()).substr(-2,2);

將此函數添加到<script></script>並從<script></script>中的任何位置調用

<script>

window.alert(Getnow());

function GetNow(){
            var currentdate = new Date(); 
            var datetime = currentdate.getDate() + "-"
                    + (currentdate.getMonth()+1)  + "-" 
                    + currentdate.getFullYear() + " "  
                    + currentdate.getHours() + ":"  
                    + currentdate.getMinutes() + ":" 
                    + currentdate.getSeconds();
            return datetime;
        }
</script>

或者您可以簡單地使用提供格式化功能的Jquery: -

window.alert(Date.parse(new Date()).toString('yyyy-MM-dd H:i:s'));

我喜歡第二種選擇。 它一次性解決所有問題。


ThulasiRam,我更喜歡你的建議。 它適用於我稍微不同的語法/上下文:

var dt_to = $.datepicker.formatDate('yy-mm-dd', new Date());

如果您決定從JQuery UI中使用datepicker,請確保在文檔的<head>部分中使用正確的引用:

<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> 

創建日期選擇器時使用dateFormat選項。

$("#startDate").datepicker({
                    changeMonth: true,
                    changeYear: true,
                    showButtonPanel: true,
                    dateFormat: 'yy/mm/dd'
                });

另一種方法是簡單的js date()函數,如果你不想使用jQuery / jQuery插件:

例如:

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);

請參閱: here

如果你想添加前導零到日/月,這是一個完美的例子: Javascript添加前導零

如果你想添加前導零的時間,試試這個: getMinutes()0-9 - 如何用兩個數字?


在你的頁面中添加jQuery UI插件。

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

我正在使用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)

如果你使用jQuery UI,那麼你可以像下面這樣使用它,你可以指定你自己的日期格式

$.datepicker.formatDate( "D dd-M-yy", new Date()) // Output "Fri 08-Sep-2017"

下面是我剛才所做的一個非常基本的功能,它不需要任何外部插件:

$.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

jQuery dateFormat是一個單獨的插件。 您需要使用<script>標籤顯式加載。


這適用於我稍作修改,沒有任何插件

輸入:Wed Apr 11 2018 00:00:00 GMT + 0000

$.date = function(orginaldate) { 
    var date = new Date(orginaldate);
    var day = date.getDate();
    var month = date.getMonth() + 1;
    var year = date.getFullYear();
    if (day < 10) {
        day = "0" + day;
    }
    if (month < 10) {
        month = "0" + month;
    }
    var date =  month + "/" + day + "/" + year; 
    return date;
};

$.date('Wed Apr 11 2018 00:00:00 GMT+0000')

產出:04/11/2018


你可以使用這個片段

$('.datepicker').datepicker({
  changeMonth: true,
  changeYear: true,
  yearRange: '1900:+0',
  defaultDate: '01 JAN 1900',
  buttonImage: "http://www.theplazaclub.com/club/images/calendar/outlook_calendar.gif",
  dateFormat: 'dd/mm/yy',
  onSelect: function() {
    $('#datepicker').val($(this).datepicker({
      dateFormat: 'dd/mm/yy'
    }).val());
  }
});
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>

<p>
  selector: <input type="text" class="datepicker">
</p>
<p>
  output: <input type="text" id="datepicker">
</p>



你可以使用這種編碼

$('[name="tgllahir"]').val($.datepicker.formatDate('dd-mm-yy', new Date(data.tgllahir)));

只需我們可以格式化日期,

var month = date.getMonth() + 1;
var day = date.getDate();
var date1 = (('' + day).length < 2 ? '0' : '') + day + '/' + (('' + month).length < 2 ? '0' : '') + month + '/' + date.getFullYear();
$("#txtDate").val($.datepicker.formatDate('dd/mm/yy', new Date(date1)));

“日期”是任何格式的日期。


雖然這個問題在幾年前問過,但是如果日期值是一個格式為mm/dd/yyyy的字符串(就像使用日期選擇器一樣),那麼不再需要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)




jquery