Làm thế nào để có được ngày hiện tại trong jquery?


181

Tôi muốn biết cách sử dụng hàm Date () trong jQuery để lấy ngày hiện tại theo yyyy/mm/ddđịnh dạng.

Câu trả lời:


325

Date()không phải là một phần của jQuery, đây là một trong những tính năng của JavaScript.

Xem tài liệu về đối tượng Date .

Bạn có thể làm như thế:

var d = new Date();

var month = d.getMonth()+1;
var day = d.getDate();

var output = d.getFullYear() + '/' +
    (month<10 ? '0' : '') + month + '/' +
    (day<10 ? '0' : '') + day;

Xem jsfiddle này cho một bằng chứng.

Mã có thể trông giống như một mã phức tạp, bởi vì nó phải xử lý các tháng và ngày được biểu thị bằng các số nhỏ hơn 10(có nghĩa là các chuỗi sẽ có một char thay vì hai). Xem jsfiddle này để so sánh.


2
Tôi không biết điều đó. Tôi đang tìm kiếm để có được ngày hiện tại trong trợ giúp jquery.plz.
Sara

Cảm ơn câu trả lời :) Mặc dù tôi chưa bao giờ trong toàn bộ sự tồn tại của mình thấy một ngày được định dạng như yyyy / mm / dd - có được sử dụng ở một số quốc gia không? Tôi đã thấy yyyy-mm-dd và yyyymmdd
Manachi

1
@Manachi Có Nó được sử dụng ở Sri Lanka
Sara

2
Cũng được sử dụng ở Palestine :)
Nada N. Hantouli

Cũng thường được sử dụng ở Hàn Quốc và Nam Phi
Muleskinner

131

Nếu bạn có giao diện người dùng jQuery (cần thiết cho công cụ hẹn hò), điều này sẽ thực hiện thủ thuật:

$.datepicker.formatDate('yy/mm/dd', new Date());

6
yêu cầu jquery-ui
Alex G

1
Đúng. Tôi đã sử dụng jQuery UI, vì vậy giải pháp này là hoàn hảo đối với tôi. Cảm ơn.
Chen Li Yong

44

jQuery là JavaScript. Sử dụng DateĐối tượng Javascript .

var d = new Date();
var strDate = d.getFullYear() + "/" + (d.getMonth()+1) + "/" + d.getDate();

3
d.getMonth () Trả về tháng (từ 0-11) nên có thể sai
Gaurav Agrawal

2
getMonth()trả về số giữa 011. Đây là lỗi JavaScript khá phổ biến. Cũng toString()hoạt động theo một cách khác với bạn mô tả (xem jsfiddletrang tài liệu này ). Tóm lại: không có giải pháp nào bạn cung cấp hoạt động đúng.
Tadeck

1
Tháng tôi không có lý do, sai lầm tôi đã mắc phải trước đây và chưa học được từ đó! toStringmặc dù tôi thề đã làm việc nhưng tôi đã thử nghiệm jsFiddle của bạn với Chrome và bạn đã đúng. Xóa khỏi câu trả lời của tôi. Cảm ơn.
Connell

31

Sử dụng Javascript thuần túy, bạn có thể tạo nguyên mẫu định dạng YYYYMMDD của riêng bạn ;

Date.prototype.yyyymmdd = function() {
  var yyyy = this.getFullYear().toString();
  var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based
  var dd  = this.getDate().toString();
  return yyyy + "/" + (mm[1]?mm:"0"+mm[0]) + "/" + (dd[1]?dd:"0"+dd[0]); // padding
};

var date = new Date();
console.log( date.yyyymmdd() ); // Assuming you have an open console

21

Trong JavaScript, bạn có thể lấy ngày và giờ hiện tại bằng cách sử dụng đối tượng Ngày;

var now = new Date();

Điều này sẽ có được thời gian máy khách cục bộ

Ví dụ cho LINK jquery

Nếu bạn đang sử dụng jQuery DatePicker, bạn có thể áp dụng nó trên bất kỳ trường văn bản nào như thế này:

$( "#datepicker" ).datepicker({dateFormat:"yy/mm/dd"}).datepicker("setDate",new Date());

Điều này sẽ nhận được giá trị thời gian ngày đầy đủ không phải những gì tôi muốn.
Sara

15

Vì câu hỏi được gắn thẻ là JQuery:

Nếu bạn cũng đang sử dụng, JQuery UIbạn có thể sử dụng $.datepicker.formatDate():

$.datepicker.formatDate('yy/mm/dd', new Date());

Xem bản demo này .


15
function GetTodayDate() {
   var tdate = new Date();
   var dd = tdate.getDate(); //yields day
   var MM = tdate.getMonth(); //yields month
   var yyyy = tdate.getFullYear(); //yields year
   var currentDate= dd + "-" +( MM+1) + "-" + yyyy;

   return currentDate;
}

Chức năng rất tiện dụng để sử dụng nó, Thưởng thức


2
Điều này hoạt động rất tốt để đặt giá trị và sau đó một cuộc gọi tiếp theo để ẩn bộ chọn ngày đã sửa nó trong mọi trình duyệt. Khéo léo!
thích hợp

9

Xem này .
Các $.now()phương pháp là viết tắt của các số được trả về bởi sự biểu hiện (new Date).getTime().


9

Đây là phương pháp hàng đầu nhận được Ngày, Năm hoặc Tháng hiện tại

new Date().getDate()          // Get the day as a number (1-31)
new Date().getDay()           // Get the weekday as a number (0-6)
new Date().getFullYear()      // Get the four digit year (yyyy)
new Date().getHours()         // Get the hour (0-23)
new Date().getMilliseconds()  // Get the milliseconds (0-999)
new Date().getMinutes()       // Get the minutes (0-59)
new Date().getMonth()         // Get the month (0-11)
new Date().getSeconds()       // Get the seconds (0-59)
new Date().getTime()          // Get the time (milliseconds since January 1, 1970)


6
//convert month to 2 digits<p>
var twoDigitMonth = ((fullDate.getMonth().length+1) === 1)? (fullDate.getMonth()+1) : '0' + (fullDate.getMonth()+1);

var currentDate =  fullDate.getFullYear()+ "/" + twoDigitMonth + "/" + fullDate.getDate();
console.log(currentDate);<br>
//2011/05/19

6

đối tượng này được đặt bằng 0, khi phần tử chỉ có một ký hiệu:

function addZero(i) {
    if (i < 10) {
        i = "0" + i;
    }
    return i;
}

Đối tượng này đặt toàn thời gian thực tế, giờ và ngày:

function getActualFullDate() {
    var d = new Date();
    var day = addZero(d.getDate());
    var month = addZero(d.getMonth()+1);
    var year = addZero(d.getFullYear());
    var h = addZero(d.getHours());
    var m = addZero(d.getMinutes());
    var s = addZero(d.getSeconds());
    return day + ". " + month + ". " + year + " (" + h + ":" + m + ")";
}

function getActualHour() {
    var d = new Date();
    var h = addZero(d.getHours());
    var m = addZero(d.getMinutes());
    var s = addZero(d.getSeconds());
    return h + ":" + m + ":" + s;
}

function getActualDate() {
    var d = new Date();
    var day = addZero(d.getDate());
    var month = addZero(d.getMonth()+1);
    var year = addZero(d.getFullYear());
    return day + ". " + month + ". " + year;
}

HTML:

<span id='full'>a</span>
<br>
<span id='hour'>b</span>
<br>    
<span id='date'>c</span>

XEM YÊU CẦU:

$(document).ready(function(){
    $("#full").html(getActualFullDate());
    $("#hour").html(getActualHour());
    $("#date").html(getActualDate());
});

THÍ DỤ


6

Tôi biết tôi đến muộn nhưng đây là tất cả những gì bạn cần

var date = (new Date()).toISOString().split('T')[0];

toISOString () sử dụng chức năng được xây dựng của javascript.

cd = (new Date()).toISOString().split('T')[0];
console.log(cd);
alert(cd);


5

Bạn cũng có thể đạt được điều này với khoảnh khắc.js. Bao gồm khoảnh khắc.js trong html của bạn.

<script src="moment.js"></script>

Và sử dụng mã dưới đây trong tập tin kịch bản để có được định dạng ngày.

moment(new Date(),"YYYY-MM-DD").utcOffset(0, true).format();


3

FYI - getDay () sẽ cung cấp cho bạn ngày trong tuần ... tức là: nếu hôm nay là thứ năm, nó sẽ trả về số 4 (là ngày thứ 4 trong tuần).

Để có được một ngày thích hợp trong tháng, hãy sử dụng getDate ().

Ví dụ của tôi dưới đây ... (cũng là hàm đệm chuỗi để đưa ra 0 về các phần tử thời gian đơn lẻ (ví dụ: 10: 4: 34 => 10:04:35)

function strpad00(s)
{
    s = s + '';
    if (s.length === 1) s = '0'+s;
    return s;
}

var currentdate = new Date();
var datetime = currentdate.getDate() 
    + "/" + strpad00((currentdate.getMonth()+1)) 
    + "/" + currentdate.getFullYear() 
    + " @ " 
    + currentdate.getHours() + ":" 
    + strpad00(currentdate.getMinutes()) + ":" 
    + strpad00(currentdate.getSeconds());

Ví dụ đầu ra: ngày 31/12/2013 @ 10:07:49
Nếu sử dụng getDay (), sản lượng sẽ là 4 /12/2013 @ 10:07:49


2

Các trang jQuery plugin là xuống. Vì vậy, thủ công:

function strpad00(s)
{
    s = s + '';
    if (s.length === 1) s = '0'+s;
    return s;
}

var now = new Date();
var currentDate = now.getFullYear()+ "/" + strpad00(now.getMonth()+1) + "/" + strpad00(now.getDate());
console.log(currentDate );


2
var d = new Date();

var today = d.getFullYear() + '/' + ('0'+(d.getMonth()+1)).slice(-2) + '/' + ('0'+d.getDate()).slice(-2);

Bây giờ đã được sửa chữa. d.getMonth () + 1 phải được tính (= đặt giữa các dấu ngoặc) trước khi thêm '0' vào trước chuỗi ...
Filip

2

Điều này sẽ cung cấp cho bạn chuỗi ngày hiện tại

var today = new Date().toISOString().split('T')[0];

1

Bạn có thể làm được việc này:

    var now = new Date();
    dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");
     // Saturday, June 9th, 2007, 5:46:21 PM

HOẶC Một cái gì đó như

    var dateObj = new Date();
    var month = dateObj.getUTCMonth();
    var day = dateObj.getUTCDate();
    var year = dateObj.getUTCFullYear();
    var newdate = month + "/" + day + "/" + year;
    alert(newdate);

1

bạn có thể sử dụng mã này:

var nowDate     = new Date();
var nowDay      = ((nowDate.getDate().toString().length) == 1) ? '0'+(nowDate.getDate()) : (nowDate.getDate());
var nowMonth    = ((nowDate.getMonth().toString().length) == 1) ? '0'+(nowDate.getMonth()+1) : (nowDate.getMonth()+1);
var nowYear     = nowDate.getFullYear();
var formatDate  = nowDay + "." + nowMonth + "." + nowYear;

bạn có thể tìm thấy một bản demo làm việc ở đây


1

Đây là những gì tôi nghĩ ra khi chỉ sử dụng jQuery. Đó chỉ là vấn đề đặt các mảnh lại với nhau.

        //Gather date information from local system
        var ThisMonth = new Date().getMonth() + 1;
        var ThisDay = new Date().getDate();
        var ThisYear = new Date().getFullYear();
        var ThisDate = ThisMonth.toString() + "/" + ThisDay.toString() + "/" + ThisYear.toString();

        //Gather time information from local system
        var ThisHour = new Date().getHours();
        var ThisMinute = new Date().getMinutes();
        var ThisTime = ThisHour.toString() + ":" + ThisMinute.toString();

        //Concatenate date and time for date-time stamp
        var ThisDateTime = ThisDate  + " " + ThisTime;

0
var d = new Date();
var month = d.getMonth() + 1;
var day = d.getDate();
var year = d.getYear();
var today = (day<10?'0':'')+ day + '/' +(month<10?'0':'')+ month + '/' + year;
alert(today);

Về cơ bản, đây là bản sao của câu trả lời được chấp nhận ngoại trừ ở định dạng sai (d / m / y)
Rob Grzyb

0

Tôi chỉ muốn chia sẻ một nguyên mẫu dấu thời gian tôi đã thực hiện bằng ý tưởng của Pierre. Không đủ điểm để nhận xét :(

// US common date timestamp
Date.prototype.timestamp = function() {
  var yyyy = this.getFullYear().toString();
  var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based
  var dd  = this.getDate().toString();
  var h = this.getHours().toString();
  var m = this.getMinutes().toString();
  var s = this.getSeconds().toString();

  return (mm[1]?mm:"0"+mm[0]) + "/" + (dd[1]?dd:"0"+dd[0]) + "/" + yyyy + " - " + ((h > 12) ? h-12 : h) + ":" + m + ":" + s;
};

d = new Date();

var timestamp = d.timestamp();
// 10/12/2013 - 2:04:19

0

Sử dụng công cụ hẹn hò jQuery-ui, nó có một thói quen chuyển đổi ngày tiện dụng được tích hợp để bạn có thể định dạng ngày:

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

Đơn giản.


0

Nhận định dạng ngày hiện tại dd/mm/yyyy

Đây là mã:

var fullDate = new Date();
var twoDigitMonth = ((fullDate.getMonth().toString().length) == 1)? '0'+(fullDate.getMonth()+1) : (fullDate.getMonth()+1);
var twoDigitDate = ((fullDate.getDate().toString().length) == 1)? '0'+(fullDate.getDate()) : (fullDate.getDate());
var currentDate = twoDigitDate + "/" + twoDigitMonth + "/" + fullDate.getFullYear();
alert(currentDate);

0
function createDate() {
            var date    = new Date(),
                yr      = date.getFullYear(),
                month   = date.getMonth()+1,
                day     = date.getDate(),
                todayDate = yr + '-' + month + '-' + day;
            console.log("Today date is :" + todayDate);

0

Bạn có thể thêm một phương thức mở rộng vào javascript.

Date.prototype.today = function () {
    return ((this.getDate() < 10) ? "0" : "") + this.getDate() + "/" + (((this.getMonth() + 1) < 10) ? "0" : "") + (this.getMonth() + 1) + "/" + this.getFullYear();
}

-3
function returnCurrentDate() {
                var twoDigitMonth = ((fullDate.getMonth().toString().length) == 1) ? '0' + (fullDate.getMonth() + 1) : (fullDate.getMonth() + 1);
                var twoDigitDate = ((fullDate.getDate().toString().length) == 1) ? '0' + (fullDate.getDate()) : (fullDate.getDate());
                var currentDate = twoDigitDate + "/" + twoDigitMonth + "/" + fullDate.getFullYear();
                return currentDate;
            }
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.