Как получить текущую дату в JQuery?

181

Я хочу знать, как использовать функцию Date () в jQuery, чтобы получить текущую дату в yyyy/mm/ddформате.

Сара
источник

Ответы:

325

Date()не является частью jQuery, это одна из особенностей JavaScript.

Смотрите документацию по объекту Date .

Вы можете сделать это так:

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;

Смотрите это jsfiddle для доказательства.

Код может выглядеть как сложный, потому что он должен иметь дело с месяцами и днями, представленными числами, меньшими 10(то есть строки будут иметь один символ вместо двух). Смотрите этот jsfiddle для сравнения.

Tadeck
источник
2
Я этого не знал. Я ищу, чтобы получить текущую дату в справке jquery.plz.
Сара
Спасибо за ответ :) Хотя за всю свою жизнь я никогда не видел дату, отформатированную как гггг / мм / дд - она ​​используется в какой-то стране? Я видел гггг-мм-дд и
ггггммдд
1
@Manachi Да, это используется на Шри-Ланке
Сара
2
Также используется в Палестине :)
Nada N. Hantouli
Также широко используется в Корее и Южной Африке
Muleskinner
131

Если у вас есть jQuery UI (необходимый для выбора даты), это поможет:

$.datepicker.formatDate('yy/mm/dd', new Date());
Сара
источник
6
требует JQuery-UI
Алекс G
1
Да. Я использовал jQuery UI, поэтому это решение идеально подходит для меня. Спасибо.
Чэнь Ли Юн
44

JQuery это JavaScript. Используйте Dateобъект Javascript .

var d = new Date();
var strDate = d.getFullYear() + "/" + (d.getMonth()+1) + "/" + d.getDate();
Коннелл
источник
3
d.getMonth () Возвращает месяц (от 0 до 11), поэтому он может быть неправильным
Гаурав Агравал
2
getMonth()возвращает числа между 0и 11. Это довольно распространенная ошибка JavaScript. Также toString()работает не так, как вы описали (см. Этот jsfiddle и эту страницу документации ). Подводя итог: ни одно из предложенных вами решений не работает должным образом.
Tadeck
1
Месяц у меня нет оправданий, ошибка, которую я сделал раньше и не научился на этом! toStringхотя я клянусь, что работал, но я проверил ваш jsFiddle с Chrome, и вы правы. Удалено из моего ответа. Спасибо.
Коннелл
31

Используя чистый Javascript, вы можете создать собственный формат YYYYMMDD ;

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

В JavaScript вы можете получить текущую дату и время, используя объект Date;

var now = new Date();

Это получит время локального клиента

Пример для jquery LINK

Если вы используете jQuery DatePicker, вы можете применить его к любому текстовому полю, например так:

$( "#datepicker" ).datepicker({dateFormat:"yy/mm/dd"}).datepicker("setDate",new Date());
Ghostman
источник
Это даст полное значение даты и времени, а не то, что я хочу.
Сара
15

Поскольку вопрос помечен как JQuery:

Если вы также используете, JQuery UIвы можете использовать $.datepicker.formatDate():

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

Смотрите это демо.

fardjad
источник
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;
}

Очень удобная функция для использования, Наслаждайтесь

Усман Юнас
источник
2
Это прекрасно работало, чтобы установить значение, а затем последующий вызов, чтобы скрыть средство выбора даты, исправило его в каждом браузере. Ухоженная!
Николь
9

Смотрите это . Метод является сокращением для количества возвращаемого выражения .
$.now()(new Date).getTime()

No_Nick777
источник
9

Вот метод top получить текущий день, год или месяц

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)
Парт Ясани
источник
7

Moment.js делает это довольно просто:

moment().format("YYYY/MM/DD")
Виталий Федоренко
источник
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
Nithin
источник
6

этот объект устанавливает ноль, когда элемент имеет только один символ:

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

Этот объект устанавливает фактическое полное время, час и дату:

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>

JQUERY VIEW:

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

ПРИМЕР

Zombyii
источник
6

Я знаю, что я опоздал, но это все, что тебе нужно

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

toISOString () использовать встроенную функцию JavaScript.

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

newbdeveloper
источник
5

Вы можете достичь этого и с помощью moment.js. Включите moment.js в ваш html.

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

И используйте приведенный ниже код в файле скрипта, чтобы получить отформатированную дату.

moment(new Date(),"YYYY-MM-DD").utcOffset(0, true).format();
Авег Патекар
источник
3

Попробуй это....

var d = new Date();
alert(d.getFullYear()+'/'+(d.getMonth()+1)+'/'+d.getDate());

getMonth () возвращает месяц от 0 до 11, поэтому мы хотели бы добавить 1 для точного месяца

Ссылка: http://www.w3schools.com/jsref/jsref_obj_date.asp

Гаурав Агравал
источник
3

К вашему сведению - getDay () даст вам день недели ... т.е., если сегодня четверг, он вернет число 4 (4-й день недели).

Чтобы получить правильный день месяца, используйте getDate ().

Мой пример ниже ... (также функция заполнения строк, чтобы дать начальный 0 для отдельных элементов времени. (Например: 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());

Пример вывода: 31/12/2013 @ 10:07:49
При использовании getDay (), выходной сигнал будет 4 /12/2013 г. @ 10:07:49

бешеный пес
источник
2

Страница плагина jQuery недоступна. Итак, вручную:

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 );
PiTheNumber
источник
2
console.log($.datepicker.formatDate('yy/mm/dd', new Date()));
Фавад Гафур
источник
2
var d = new Date();

var today = d.getFullYear() + '/' + ('0'+(d.getMonth()+1)).slice(-2) + '/' + ('0'+d.getDate()).slice(-2);
Filip
источник
Сейчас исправлено. d.getMonth () + 1 необходимо вычислить (= установить в скобках) перед добавлением «0» перед строкой ...
Филипп
2

Это даст вам текущую строку даты

var today = new Date().toISOString().split('T')[0];
Саджир Бабу
источник
1

Ты можешь сделать это:

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

ИЛИ что-то вроде

    var dateObj = new Date();
    var month = dateObj.getUTCMonth();
    var day = dateObj.getUTCDate();
    var year = dateObj.getUTCFullYear();
    var newdate = month + "/" + day + "/" + year;
    alert(newdate);
панки шарма
источник
1

Вы можете использовать этот код:

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;

Вы можете найти рабочую демонстрацию здесь

bernte
источник
1

Это то, что я придумал, используя только jQuery. Это просто вопрос соединения частей.

        //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);
sunandak
источник
Это в основном копия принятого ответа, за исключением неправильного формата (д / м / г)
Роб Грзыб
0

Я просто хотел поделиться прототипом метки времени, который я сделал, используя идею Пьера. Недостаточно очков для комментариев :(

// 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
Bullyen
источник
0

Используя jQuery-ui datepicker, в него встроена удобная процедура преобразования даты, поэтому вы можете форматировать даты:

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

Просто.

Джастин левен
источник
0

Получить текущий формат даты dd/mm/yyyy

Вот код:

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

Вы можете добавить метод расширения в 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;
            }
Джейдип шил
источник