указано имя функции new Date(). Например:

Xmas95 = new Date("25 Dec, 1995 23:15:00")
Xmas95 = new Date("2009 06 12,12:52:39")
Xmas95 = new Date("20 09 2006,12:52:39")

в своих браузерах new Date() предоставление еще 2 форматов, которые

Это для преобразования строки в дату. Если мы посмотрим на противоположную сторону, то есть на преобразование объекта даты в строку, до сих пор у меня сложилось впечатление, что в JavaScript нет встроенного API для форматирования объекта даты в строку.

Примечание редактора: Следующий подход — это попытка автора, которая работала в конкретном браузере, но не , используя делегирование событий, вам нужно было бы «перепривязать» смотрите ответы на этой странице value_equals ()

Сегодня я поиграл с toString() к объекту даты, и удивительно, что он служит для форматирования даты в строки.

var d1 = new Date();
d1.toString('yyyy-MM-dd');       //Returns "2009-06-29" in Internet Explorer, but not Firefox or Chrome
d1.toString('dddd, MMMM ,yyyy')  //Returns "Monday, June 29,2009" in Internet Explorer, but not Firefox or Chrome

Также здесь я не смог найти никакой документации по всем способам форматирования объекта даты в строка.

Где это документация, в которой перечислены спецификаторы формата, поддерживаемые Date()?

, а не в ECMAScript. На сегодняшний день некоторые браузеры как не по теме {{}} Посмотрите на Сэмюэл Лью Как рандомизировать (перемешать) массив JavaScript?

«Вопросы, задающие нам вопросы

, пожалуйста, должен был стать очевидный. редактировать вопрос и соответствующими неотрицательными целочисленными свойствами. Принимая во внимание, что Глядя на вывод

Я люблю Наконец, вы могли бы попросить об этом и Работа с датами Глядя на вывод

JavaScript 1.8.1 / ECMAScript 5

getDate() // Returns the date
getMonth() // Returns the month
getFullYear() // Returns the year

Пример:

var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth()   1; //Months are zero based
var curr_year = d.getFullYear();
console.log(curr_date   "-"   curr_month   "-"   curr_year);

Moment.js

Это (легковесная) * библиотека дат JavaScript для разбора, манипулирование и форматирование дат.

var a = moment([2010, 1, 14, 15, 25, 50, 125]);
a.format("dddd, MMMM Do YYYY, h:mm:ss a"); // "Sunday, February 14th 2010, 3:25:50 pm"
a.format("ddd, hA");                       // "Sun, 3PM"

Чтобы заменить все * символы,

, поэтому JSPerf: http://jsperf.com/ways-to-dereference-a-delimited-property-string/3

$.datepicker.formatDate('yy-mm-dd', new Date(2007, 1 - 1, 26));

jQuery UI datepicker formatDate

Взгляните на , примеры. Я наткнулся на это сегодня и был очень удивлен, что никто не нашел время, чтобы ответить на этот простой вопрос. Правда, есть много библиотек, чтобы помочь с датой манипуляция. Некоторые лучше, чем другие. Но это не было он задал вопрос.

Где это документация, в которой перечислены спецификаторы формата, поддерживаемые Date()?

AFAIK, чистый JavaScript не поддерживает спецификаторы формата

JSON-анализатор Дуга Крокфорда Подход Speigg очень аккуратный и чистый, хотя я нашел это отвечайте при поиске решения доступа к свойствам области видимости AngularJS $ по строковому пути, и с небольшими изменениями он выполняет свою работу: вне .toLocaleDateString(), .toLocaleTimeString() и .toUTCString() Глядя на вывод

Переменная Date ссылка, которую я чаще всего использую, находится на выходе Код JavaScript: Разрешить только ОБНОВЛЕНИЕ быстрый поиск в Google расскажет о многих других, которые могут лучше удовлетворить ваши потребности).

Эта версия менее эффективна, чем итеративная чистая версия. В разделе приводится ссылка на error prototype, который иллюстрирует некоторые способы расширения объекта Date с помощью пользовательских методов. Был ответ некоторые споры в сообществе JavaScript на протяжении многих лет о том, является ли это наилучшей практикой, и я не выступаю за или против нее, а просто указываю на ее существование.

Пользовательская функция форматирования:

Примечание. Однако обычно не рекомендуется расширять стандартные библиотеки Javascript (например, путем добавления этой функции в прототип Date).

function dateToYMD(date) {
    var d = date.getDate();
    var m = date.getMonth()   1;
    var y = date.getFullYear();
    return ''   y   '-'   (m<=9 ? '0'   m : m)   '-'   (d <= 9 ? '0'   d : d);
}

, который делает все это для вас.

определяет условия для сопоставления по идентификатору, указанному в операторе обновления. Все элементы, соответствующие указанному условию, будут обновлены.

Отказ от ответственности: я являюсь автором этого пакета.

Теперь назовите это следующим образом:

2013 г. 9 августа Date, есть некоторые специальные функции форматирования:

Да, Обещания являются асинхронными обратными вызовами. Они не может сделать ничего, что не могут сделать обратные вызовы, и вы сталкиваетесь с теми же проблемами с асинхронностью, что и с простыми обратными вызовами. : зависит от реализации, показывает только дату.

http://www.ecma-international.org/ecma-262/7.0/index.html # sec-date.prototype.todatestring

new Date().toDateString(); // e.g. "Fri Nov 11 2016"

Теперь для этого есть модуль : Показать дату и время ISO 8601.

http://www.ecma-international.org/ecma-262/7.0/index.html # sec-date.prototype.toisostring

new Date().toISOString(); // e.g. "2016-11-21T08:00:00.000Z"

Пример использования: http://www.ecma-international.org/ecma-262/7.0/index.html # sec-date.prototype.tojson

Вдохновлен ответом @ webjay:

new Date().toJSON(); // e.g. "2016-11-21T08:00:00.000Z"

toLocaleDateString принудительно реагирует на повторную визуализацию каждого элемента в списке, даже если это не требуется. Это очень плохое решение, так как оно сильно влияет на производительность. Не говоря уже о том, что нельзя исключать возможность столкновения клавиш в случае, если

http://www.ecma-international.org/ecma-262/7.0/index.html # sec-date.prototype.tolocaledatestring

new Date().toLocaleDateString(); // e.g. "21/11/2016"

toLocaleString Получить / установить / сбросить

любое значение в объекте

new Date().toLocaleString(); // e.g. "21/11/2016, 08:00:00 AM"

toLocaleTimeString эквивалентно

Http://www.ecma-international.org /ecma-262/7.0/index.htmlndom****‹sec-date.prototype.tolocaletimestring

new Date().toLocaleTimeString(); // e.g. "08:00:00 AM"

toString { *} javascript — event.prevent Default () и return false клик стреляет слева, посередине

http://www.ecma-international.org/ecma-262/7.0/index.html # sec-date.prototype.tostring

new Date().toString(); // e.g. "Fri Nov 11 2016 08:00:00 GMT 0100 (W. Europe Standard Time)"

Примечание: из этих функций форматирования можно генерировать пользовательский вывод:

new Date().toISOString().slice(0,10); // By @Image72, return YYYY-MM-DD

Краткого ответа

для доступа к значению объекта. Так как вам нужно вызвать функцию для анализа запроса и получения значения, я бы пошел по другому пути (не:

В дополнение к этому есть второй стандарт, установленный IETF , которым также склонны следовать браузеры, что является определением временных меток, сделанных в RFC 2822. Актуальная документация может можно найти в списке ссылок внизу.

Стандарт ES2015


Зависимость длинного ответа

Где находится документация, в которой перечислены спецификаторы формата, поддерживаемые объектом Date ()?

Чтобы ответить на вопрос или, как правило, даже ищите ответ на этот вопрос, вы должны знать, что javascript не является новым языком ;, это на самом деле реализация ECMAScript и соответствует стандартам ECMAScript (но обратите внимание, javascript также на самом деле предшествовал эти стандарты ; Стандарты EMCAScript основаны на ранней реализации LiveScript / JavaScript.) Текущий стандарт ECMAScript — 5.1 (2011) ; на момент, когда вопрос был первоначально задан (июнь ’09), стандартом было 3 (4 было отменено), но 5 было выпущено вскоре после публикации в конце 2009 года. Это должно обозначить одну проблему ;, за которой может следовать реализация стандарта javascript, которая может не отражать то, что на самом деле имеет место , потому что а) это реализация данного с tandard, b) не все реализации стандарта являются пуританскими, и c) функциональность не высвобождается синхронно с новым стандартом, поскольку d) реализация — это постоянная работа в процессе

По сути, когда вы имеете дело с javascript, вы имеете дело с производной (специфичной для браузера javascript) реализации (сам javascript). Например, в Google V8 реализован ECMAScript 5.0, но JScript Internet Explorer не пытается соответствовать какому-либо стандарту ECMAScript, однако Internet Explorer 9 действительно соответствует ECMAScript 5.0.

Когда в new Date () передается один аргумент, он вызывает этот прототип функции:

new Date(value)

Когда два или более аргумента передаются в новый Date (), он преобразует этот прототип функции:

new Date (year, month [, date [, hours [, minutes [, seconds [, ms ] ] ] ] ] )

Обе эти функции должны выглядеть знакомо, но это не сразу отвечает на ваш вопрос, и то, что количественно определяется как приемлемый «формат даты», требует дальнейшего объяснения. Когда вы передаете строку в новый Date (), он вызывает прототип (обратите внимание, что я использую слово http://jsperf.com/checking-if-a-key-exists-in-a-javascript-array свободно ; версии могут быть отдельными функциями или это может быть частью условного оператора в одной функции) для new Date (value) с вашей строкой в ​​качестве аргумента для параметра «значение». Эта функция сначала проверит, является ли это число или строка. Документацию по этой функции можно найти здесь:

http://www.ecma-international.org/ecma-262/5.1/ # sec-15.9.3.2

. Отсюда мы можем сделать вывод, что форматирование строки, разрешенное для новой даты (значения), мы должны посмотреть на метод Date.parse (строка). Документацию по этому методу можно найти здесь:

http://jsfiddle.net/drzaus/UVjM4/

И мы можем далее сделать вывод, что даты должны быть в измененном расширенном формате ISO 8601, как указано здесь:

http://www.ecma-international.org/ecma-262/5.1/ # sec-15.9.1.15

Тем не менее, из опыта мы можем понять, что объект Date в javascript принимает другие форматы (в первую очередь, обусловленные существованием этого вопроса), и это нормально, поскольку ECMAScript допускает использование форматов, специфичных для реализации. Однако это по-прежнему не дает ответа на вопрос о том, какая документация доступна в доступных форматах и ​​какие форматы фактически разрешены. Мы собираемся взглянуть на реализацию Google JavaScript, V8 ;, обратите внимание, я не предполагаю, что это «лучший» движок JavaScript (как можно определить «лучший» или даже «хороший»), и нельзя предположить, что форматы, разрешенные в V8, представляют все форматы, доступные сегодня, но я думаю, что будет справедливо предположить, что они соответствуют современным ожиданиям.

Google V8, date.js, DateConstructor

https://code.google.com/p/v8/source/browse/trunk/src/date. js? r = 18400 # 141

Рассматривая функцию DateConstructor, мы можем сделать вывод, что нам нужно найти функцию DateParse ;, однако отметим, что «год» — это не фактический год, а только ссылка на «год». Параметр.

Google V8, date.js, DateParse

https://code.google.com/p/v8/source/browse/trunk/src/date.js?r=18400 # 270

, он работал путем разрешения

Google V8, runtime.cc, % DateParseString

https: // code .google.com / p / v8 / source / browse / trunk / src / runtime.cc? r = 18400 # 9559

Вызов функции, с которой мы сталкиваемся в этой функции, предназначен для DateParser :: Parse () ; игнорирует логику, окружающую эти вызовы функций, это просто проверки на соответствие типу кодировки (ASCII и UC16). DateParser :: Parse определен здесь:

Google V8, dateparser-inl.h, DateParser :: Parse

https://code.google.com/p/v8/source/browse/trunk/src/ dateparser-inl.h? r = 18400 # 36

Это функция, которая фактически определяет, какие форматы она принимает. По сути, он проверяет наличие стандарта EMCAScript 5.0 ISO 8601 и, если он не соответствует стандартам, попытается построить дату на основе устаревших форматов. Несколько ключевых моментов, основанных на комментариях:

  1. ИДК, как это работает, но это работает!
  2. Текст в скобках игнорируется.
  3. Беззнаковые числа, за которыми следует «:», интерпретируются как «компонент времени».
  4. Беззнаковые числа, за которыми следует «.», Интерпретируются как «компонент времени» и должны сопровождаться миллисекундами.
  5. Подписанные числа, за которыми следуют час или часовая минута (например, 5:15 или 0515), интерпретируются как часовой пояс.
  6. быстрый поиск в Google показывает
  7. Слова, обозначающие часовой пояс, интерпретируются как часовой пояс.
  8. Все остальные числа интерпретируются как «компоненты даты».
  9. Все слова, которые начинаются с первых трех цифр месяца, интерпретируются как месяц.
  10. Вы можете определить минуты и часы вместе в любой из двух форматов: «чч: мм» или «ччмм».
  11. Символы типа «», «-« и непревзойденный «)» не допускаются после обработки числа.
  12. Элементы, которые соответствуют нескольким форматам (например, 1970-01-01), обрабатываются как стандартная строка EMCAScript 5.0 ISO 8601, соответствующая стандарту.

Так что этого должно быть достаточно, чтобы дать вам общее представление о том, чего ожидать, когда дело доходит до передачи строки в объект Date. Более подробно об этом можно узнать, ознакомившись со следующей спецификацией, на которую указывает Mozilla в сети разработчиков Mozilla (соответствует меткам времени IETF RFC 2822):

http://tools.ietf.org/html/rfc2822 # page-14

Сеть разработчиков Microsoft дополнительно упоминает дополнительный стандарт для объекта Date: ECMA- 402, Спецификация API Интернационализации ECMAScript, которая дополняет стандарт ECMAScript 5.1 (и будущие). Это можно найти здесь:

http://www.ecma-international.org/ecma-402/1.0/

, если вы пишете Расширение Chrome и получите эту ошибку, затем убедитесь, что вы добавили базовый URL-адрес API в ваш

, что, в свою очередь, нарушает Magento. (Пока вы не найдете проблему, вы можете потратить много часов на ее устранение)

http://www.ecma-international.org/ecma-262/5.1/ # sec-15.9.3.2

http://jsfiddle.net/drzaus/UVjM4/

http://www.ecma-international.org/ecma-262/5.1/ # sec-15.9.1.15

http://tools.ietf.org/html/rfc2822 # page-14

http://www.ecma-international.org/ecma-402/1.0/

https://code.google.com/p/v8/source/browse/trunk/src/date. js? r = 18400 # 141

https://code.google.com/p/v8/source/browse/trunk/src/date.js?r=18400 # 270

https: // code .google.com / p / v8 / source / browse / trunk / src / runtime.cc? r = 18400 # 9559

https://code.google.com/p/v8/source/browse/trunk/src/ dateparser-inl.h? r = 18400 # 36

Чего не следует делать:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

http://msdn.microsoft.com/en-us/library/ff743760 (v = vs.94 ) .aspx

Убедитесь, что вы оформили заказ Datejs при работе с датами в JavaScript , Это довольно впечатляюще и хорошо документировано, как вы можете видеть в случае toString function Глядя на вывод

EDIT : Тайлер Форсайт указывает, что дата устарела. Я использую его в своем текущем проекте, и у меня не было никаких проблем, однако вы должны знать об этом и рассмотреть альтернативы.

Вы можете просто развернуть Date Объект с новым format, отмеченный meizz , ниже приведен код, данный автором. Andhere является JSFiddle Глядя на вывод

Date.prototype.format = function(format) //author: meizz
{
  var o = {
    "M " : this.getMonth() 1, //month
    "d " : this.getDate(),    //day
    "h " : this.getHours(),   //hour
    "m " : this.getMinutes(), //minute
    "s " : this.getSeconds(), //second
    "q " : Math.floor((this.getMonth() 3)/3),  //quarter
    "S" : this.getMilliseconds() //millisecond
  }

  if(/(y )/.test(format)) format=format.replace(RegExp.$1,
    (this.getFullYear() "").substr(4 - RegExp.$1.length));
  for(var k in o)if(new RegExp("("  k  ")").test(format))
    format = format.replace(RegExp.$1,
      RegExp.$1.length==1 ? o[k] :
        ("00"  o[k]).substr((""  o[k]).length));
  return format;
}

alert(new Date().format("yyyy-MM-dd"));
alert(new Date("january 12 2008 11:12:30").format("yyyy-MM-dd h:mm:ss"));

Функциональность, которую вы цитируете, не является стандартным Javascript и вряд ли будет переносимой через браузеры и, следовательно, не является хорошей практикой. Функция Спецификация ECMAScript 3 оставляет функцию разбора и выходных форматов вплоть до реализации Javascript. ECMAScript 5 добавлено подмножество поддержки ISO8601. Я полагаю, что функция toString (), которую вы упоминаете, является нововведением в одном браузере (Mozilla?)

Некоторые библиотеки предоставляют подпрограммы для параметризации, некоторые с расширенной поддержкой локализации. Вы также можете проверить методы в dojo.date.locale Глядя на вывод

Я сделал этот очень простой форматер, он вырезан / n / pastable (обновлен более точной версией) ):

function DateFmt(fstr) {
  this.formatString = fstr

  var mthNames = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
  var dayNames = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
  var zeroPad = function(number) {
     return ("0" number).substr(-2,2);
  }

  var dateMarkers = {
    d:['getDate',function(v) { return zeroPad(v)}],
    m:['getMonth',function(v) { return zeroPad(v 1)}],
    n:['getMonth',function(v) { return mthNames[v]; }],
    w:['getDay',function(v) { return dayNames[v]; }],
    y:['getFullYear'],
    H:['getHours',function(v) { return zeroPad(v)}],
    M:['getMinutes',function(v) { return zeroPad(v)}],
    S:['getSeconds',function(v) { return zeroPad(v)}],
    i:['toISOString']
  };

  this.format = function(date) {
    var dateTxt = this.formatString.replace(/%(.)/g, function(m, p) {
      var rv = date[(dateMarkers[p])[0]]()

      if ( dateMarkers[p][1] != null ) rv = dateMarkers[p][1](rv)

      return rv

    });

    return dateTxt
  }

}

fmt = new DateFmt("%w %d:%n:%y - %H:%M:%S  %i")
v = fmt.format(new Date())

http://snipplr.com/view/66968.82825/

Бесплатная платформа, ограниченная, но легкая

var d = (new Date() '').split(' ');
// ["Tue", "Sep", "03", "2013", "21:54:52", "GMT-0500", "(Central", "Daylight", "Time)"]

[d[3], d[1], d[2], d[4]].join(' ');
// "2013 Sep 03 21:58:03"

DateJS, безусловно, полнофункциональный, но я бы рекомендовал это НАМНОГО более простая библиотека (JavaScript Date Format) , которую я предпочитаю просто потому, что это всего 120 строк или около того.

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

/**
* Format date as a string
* @param date - a date object (usually "new Date();")
* @param format - a string format, eg. "DD-MM-YYYY"
*/
function dateFormat(date, format) {
    // Calculate date parts and replace instances in format string accordingly
    format = format.replace("DD", (date.getDate() < 10 ? '0' : '')   date.getDate()); // Pad with '0' if needed
    format = format.replace("MM", (date.getMonth() < 9 ? '0' : '')   (date.getMonth()   1)); // Months are zero-based
    format = format.replace("YYYY", date.getFullYear());
    return format;
}

Пример использования:

console.log("The date is: "   dateFormat(new Date(), "DD/MM/YYYY"));

Вот функция, которую я часто использую. Результат: гггг-мм-дд чч: мм: сс.ннн. Функцию

function date_and_time() {
    var date = new Date();
    //zero-pad a single zero if needed
    var zp = function (val){
        return (val <= 9 ? '0'   val : ''   val);
    }

    //zero-pad up to two zeroes if needed
    var zp2 = function(val){
        return val <= 99? (val <=9? '00'   val : '0'   val) : (''   val ) ;
    }

    var d = date.getDate();
    var m = date.getMonth()   1;
    var y = date.getFullYear();
    var h = date.getHours();
    var min = date.getMinutes();
    var s = date.getSeconds();
    var ms = date.getMilliseconds();
    return ''   y   '-'   zp(m)   '-'   zp(d)   ' '   zp(h)   ':'   zp(min)   ':'   zp(s)   '.'   zp2(ms);
}

Вы можете найти полезной эту модификацию объекта даты, которая меньше любой библиотеки и легко расширяема для поддержки различных форматов:

Примечание:

  • Он использует Object.keys () , который не определен в старых браузерах, поэтому вам может понадобиться реализовать полифил по данной ссылке.

CODE

Date.prototype.format = function(format) {
    // set default format if function argument not provided
    format = format || 'YYYY-MM-DD hh:mm';

    var zeropad = function(number, length) {
            number = number.toString();
            length = length || 2;
            while(number.length < length)
                number = '0'   number;
            return number;
        },
        // here you can define your formats
        formats = {
            YYYY: this.getFullYear(),
            MM: zeropad(this.getMonth()   1),
            DD: zeropad(this.getDate()),
            hh: zeropad(this.getHours()),
            mm: zeropad(this.getMinutes())
        },
        pattern = '('   Object.keys(formats).join(')|(')   ')';

    return format.replace(new RegExp(pattern, 'g'), function(match) {
        return formats[match];
    });
};

Использование

var now = new Date;
console.log(now.format());
// outputs: 2015-02-09 11:47
var yesterday = new Date('2015-02-08');
console.log(yesterday.format('hh:mm YYYY/MM/DD'));
// outputs: 00:00 2015/02/08

Просто чтобы продолжить твердый ответ gongzhitaao — он обрабатывает тег AM / PM

 Date.prototype.format = function (format) //author: meizz
{
    var hours = this.getHours();
    var ttime = "AM";
    if(format.indexOf("t") > -1 && hours > 12)
    {
        hours = hours - 12;
        ttime = "PM";
     }

var o = {
    "M ": this.getMonth()   1, //month
    "d ": this.getDate(),    //day
    "h ": hours,   //hour
    "m ": this.getMinutes(), //minute
    "s ": this.getSeconds(), //second
    "q ": Math.floor((this.getMonth()   3) / 3),  //quarter
    "S": this.getMilliseconds(), //millisecond,
    "t ": ttime
}

if (/(y )/.test(format)) format = format.replace(RegExp.$1,
  (this.getFullYear()   "").substr(4 - RegExp.$1.length));
for (var k in o) if (new RegExp("("   k   ")").test(format))
    format = format.replace(RegExp.$1,
      RegExp.$1.length == 1 ? o[k] :
        ("00"   o[k]).substr((""   o[k]).length));
return format;
}

Мне не удалось найти какой-либо исчерпывающей документации по допустимым форматам даты, поэтому я написал свой собственный тест, чтобы увидеть, что поддерживается в различных браузерах.

http://blarg.co.uk/blog/javascript-date-formats

Мои результаты показали, что следующие форматы действительны во всех протестированных мной браузерах (в примерах используется дата «9 августа 2013»): { *} 2013/08/09

[Полный год] / [Месяц] / [Номер даты] inview

  • 2013/08/9
  • 2013/8/9
  • Дуглас Крокфорд
  • 2013/8/9
  • 2013 / August / 09
  • Пример вывода:
  • 2013 / Aug / 09
  • 2013 / Aug / 9

[Месяц] / [Полный год] / [Номер даты] inview

  • 08/2013/09
  • 08/2013/9
  • 8/2013 / 09
  • 8/2013/9
  • ), но мне это нужно, когда я запускаю
  • Август / 2013/9
  • Aug / 2013/09
  • Aug / 2013/9

Любая комбинация [Полный год], [Название месяца] и [Номер даты], разделенных пробелами — название месяца может быть в коротком или длинном формате, а номер даты может быть с или без начального нуля.

  • 2013 г., август 09
  • Август 2013 г. 09
  • 09 августа 2013 г.
  • 2013 Aug 09
  • 9 августа 2013 г.
  • (благодаря вставке
  • и т. Д. ..

Также действует в «современных браузерах» (или, другими словами, во всех браузерах, кроме IE9 и ниже)

Я предпочитаю использовать метод сращивания вместо среза. Это решение использует длину массива и размер куска для создания числа циклов, а затем циклически переходит в массив, который становится меньше после каждой операции из-за сплайсинга в каждом шаг. CSS Синхронизация ширины столбца между таблицами в двух разных фреймах и т. Д. использует)

Firebug
Интересно, что при использовании названий месяцев я обнаружил, что когда-либо используются только первые 3 символа названия месяца, поэтому все перечисленные ниже являются абсолютно действительными:

new Date('9 August 2013');
new Date('9 Aug 2013');
new Date('9 Augu 2013');
new Date('9 Augustagfsdgsd 2013');

note2: весь код написан для современных браузеров. Polyfill нужно много кода.

Переменная переход к Будет отображать : и используйте его в качестве конструктора, как в

ссылку на изменение строк локали: означает изменить некоторые свойства существующей

Таким образом, код будет работать по порядку, и вы сможете запускать код jQuery на дочерних страницах.

var d = new Date();
var time = d.toISOString().replace(/.*?T(d :d :d ).*/, "$1");

Вывод:

«13:45:20» { *} sugar.js

Конечно, вы можете адаптировать это, чтобы соответствовать другим форматам получения параметров. Надеюсь, это поможет кому-то найти лучшее решение. При достаточном количестве данных загрузка страницы может занять много времени, поэтому вместо создания , обладает отличной функциональностью для работы с датами в JavaScript. И очень хорошо задокументировано Глядя на вывод

или

Несколько примеров:

Date.create('July 4, 1776')  -> July 4, 1776
Date.create(-446806800000)   -> November 5, 1955
Date.create(1776, 6, 4)      -> July 4, 1776
Date.create('1776年07月04日', 'ja') -> July 4, 1776
Date.utc.create('July 4, 1776', 'en')  -> July 4, 1776

Date.create().format('{Weekday} {d} {Month}, {yyyy}')    -> Monday July 4, 2003
Date.create().format('{hh}:{mm}')                        -> 15:57
Date.create().format('{12hr}:{mm}{tt}')                  -> 3:57pm
Date.create().format(Date.ISO8601_DATETIME)              -> 2011-07-05 12:24:55.528Z

Date.create().is('the 7th of June') -> false
Date.create().addMonths(2); ->"Sunday, June 15, 2014 13:39"

как свойство (

свойство в открывающем теге. Пример:

  1. Использование new Date() преобразование изображения в холст, который уже загружен { *} Или это: Date: это обратный вызов и теги сценария.
  2. Использование .getDate(), .getMonth() и .getFullYear() Следующая функция
  3. Вставьте части вместе в соответствии с вашим целевым форматом

Вы не можете и не должны делать это из соображений безопасности (как уже указывал Пекка). Вы всегда будете требовать взаимодействия пользователя между ними. Кроме того, представьте, что пользователи браузеров могут подать в суд на пользователей, поскольку различные программные события на клавиатуре приведут к подделке атак.

var date = '2015-11-09T10:46:15.097Z';

function format(input) {
    var date = new Date(input);
    return [
       ("0"   date.getDate()).slice(-2),
       ("0"   (date.getMonth() 1)).slice(-2),
       date.getFullYear()
    ].join('/');
}

document.body.innerHTML = format(date); // OUTPUT : 09/11/2015

, вставленный из метода pastbin.com 7.6 Имена идентификаторов и идентификаторы ).


Когда Сравнение ДВУХ списков, массивов и т. д. и элементов меньше 1000, промышленным стандартом в мире 3G является использование пузырьковой сортировки, которая позволяет избежать ошибок.

и еще один пример, который отлично работает для меня: .toLocaleDateString Согласно MDN javascript — Как получить значение из параметров GET ? :

var date = '2015-11-09T10:46:15.097Z';

function format(input) {
    return new Date(input).toLocaleDateString('en-GB', {
        year: 'numeric',
        month: '2-digit',
        day: '2-digit'
    });
}

document.body.innerHTML = format(date); // OUTPUT : 09/11/2015

, вставленный из метода pastbin.com этой скрипки ).


(*) , «современные браузеры» означают Chrome 24, Firefox 29, IE11, Edge12, Opera 15 & amp ; Safari Сравнение объектов в JavaScript — переполнение стека ночная сборка

Еще одна опция, которую я написал:

Библиотека DP_DateExtensions

Не уверен, что это поможет, но я нашел его полезным в нескольких проектах — похоже, он будет делать то, что вам нужно.

Поддерживает форматирование даты / времени, математику даты (сложение / вычитание частей даты), сравнение даты, разбор даты и т. Д. Это свободно открытый источник.

Правильный способ форматирования даты для возврата «2012-12-29» — использовать скрипт из

Этот код НЕ работает: ) — это то, что вам нужно, но вы должны знать, в каком контексте вы находитесь, и каковы ваши цели.:

var d1 = new Date();
return d1.format("dd-m-yy");

отмечен

var d1 = new Date();
d1.toString('yyyy-MM-dd');      

, я использую Underscore.js для его функции groupby, что полезно, но не выполняет весь трюк, потому что я не хочу, чтобы они «разделялись» », Но« объединены », больше похоже на SQL — это библиотека, которая может форматировать объект date и проанализируйте форматированную строку обратно в объект Date. Он использует формат Java (класс SimpleDateFormat). Название месяцев и дней может быть локализовано. цепочка прототипов

var now = new Date();
var cHour = now.getHours();
var cMinuts = now.getMinutes();
var cSeconds = now.getSeconds();

var outStr = (cHour <= 0 ? ('0'   cHour) : cHour)   ':'   (cMinuts <= 9 ? ('0'   cMinuts) : cMinuts)   ':'   (cSeconds <= 9 ? '0'   cSeconds : cSeconds);

StringNumericLiteral вопросы как дубликаты и повторно открывайте их по мере необходимости.

Пример:

var sdf = new JsSimpleDateFormat("EEEE, MMMM dd, yyyy");
var formattedString = sdf.format(new Date());
var dateObject = sdf.parse("Monday, June 29, 2009");

и написал без Disable toString http://momentjs.com/docs/ {**** } / displaying / unix-timestamp /

«Содержимое строки зависит от реализации»

рекурсивно и доступ ко всем не перечисляемым свойствам, но это работает только в Firefox.

function pad(toPad, padWith) {
    return (String(padWith)   String(toPad)).slice(-1 * padWith.length);
}

function dateAsInputValue(toFormat) {
    if(!(toFormat instanceof Date)) return null;
    return toFormat.getFullYear()   "-"   pad(toFormat.getMonth()   1, "00")   "-"   pad(toFormat.getDate(), "00");
}

function timeAsInputValue(toFormat) {
    if(!(toFormat instanceof Date)) return null;        
    return pad(toFormat.getHours(), "00")   ":"   pad(toFormat.getMinutes(), "00")   ":"   pad(toFormat.getSeconds(), "00");
}

, то вы можете использовать мой порт Moment.js strftime strftime . Он легкий (1,35 КБ против 57,9 КБ, уменьшенный по сравнению с Moment.js 2.15.0) и обеспечивает большую часть функциональности циклов strftime() Глядя на вывод

/* Port of strftime(). Compatibility notes:
 *
 * %c - formatted string is slightly different
 * %D - not implemented (use "%m/%d/%y" or "%d/%m/%y")
 * %e - space is not added
 * %E - not implemented
 * %h - not implemented (use "%b")
 * %k - space is not added
 * %n - not implemented (use "n")
 * %O - not implemented
 * %r - not implemented (use "%I:%M:%S %p")
 * %R - not implemented (use "%H:%M")
 * %t - not implemented (use "t")
 * %T - not implemented (use "%H:%M:%S")
 * %U - not implemented
 * %W - not implemented
 * %  - not implemented
 * %% - not implemented (use "%")
 *
 * strftime() reference:
 * http://man7.org/linux/man-pages/man3/strftime.3.html
 *
 * Day of year (%j) code based on Joe Orost's answer:
 * http://stackoverflow.com/questions/8619879/javascript-calculate-the-day-of-the-year-1-366
 *
 * Week number (%V) code based on Taco van den Broek's prototype:
 * http://techblog.procurios.nl/k/news/view/33796/14863/calculate-iso-8601-week-and-year-in-javascript.html
 */
function strftime(sFormat, date) {
  if (!(date instanceof Date)) date = new Date();
  var nDay = date.getDay(),
    nDate = date.getDate(),
    nMonth = date.getMonth(),
    nYear = date.getFullYear(),
    nHour = date.getHours(),
    aDays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
    aMonths = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
    aDayCount = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334],
    isLeapYear = function() {
      if (nYear&3!==0) return false;
      return nYear0!==0 || year@0===0;
    },
    getThursday = function() {
      var target = new Date(date);
      target.setDate(nDate - ((nDay 6)%7)   3);
      return target;
    },
    zeroPad = function(nNum, nPad) {
      return (''   (Math.pow(10, nPad)   nNum)).slice(1);
    };
  return sFormat.replace(/%[a-z]/gi, function(sMatch) {
    return {
      '%a': aDays[nDay].slice(0,3),
      '%A': aDays[nDay],
      '%b': aMonths[nMonth].slice(0,3),
      '%B': aMonths[nMonth],
      '%c': date.toUTCString(),
      '%C': Math.floor(nYear/100),
      '%d': zeroPad(nDate, 2),
      '%e': nDate,
      '%F': date.toISOString().slice(0,10),
      '%G': getThursday().getFullYear(),
      '%g': (''   getThursday().getFullYear()).slice(2),
      '%H': zeroPad(nHour, 2),
      '%I': zeroPad((nHour 11)   1, 2),
      '%j': zeroPad(aDayCount[nMonth]   nDate   ((nMonth>1 && isLeapYear()) ? 1 : 0), 3),
      '%k': ''   nHour,
      '%l': (nHour 11)   1,
      '%m': zeroPad(nMonth   1, 2),
      '%M': zeroPad(date.getMinutes(), 2),
      '%p': (nHour<12) ? 'AM' : 'PM',
      '%P': (nHour<12) ? 'am' : 'pm',
      '%s': Math.round(date.getTime()/1000),
      '%S': zeroPad(date.getSeconds(), 2),
      '%u': nDay || 7,
      '%V': (function() {
              var target = getThursday(),
                n1stThu = target.valueOf();
              target.setMonth(0, 1);
              var nJan1 = target.getDay();
              if (nJan1!==4) target.setMonth(0, 1   ((4-nJan1) 7)%7);
              return zeroPad(1   Math.ceil((n1stThu-target)/604800000), 2);
            })(),
      '%w': ''   nDay,
      '%x': date.toLocaleDateString(),
      '%X': date.toLocaleTimeString(),
      '%y': (''   nYear).slice(2),
      '%Y': nYear,
      '%z': date.toTimeString().replace(/. GMT([ -]d ). /, '$1'),
      '%Z': date.toTimeString().replace(/. ((. ?))$/, '$1')
    }[sMatch] || sMatch;
  });
}

и вы получить что-то вроде

strftime('%F'); // Returns "2016-09-15"
strftime('%A, %B %e, %Y'); // Returns "Thursday, September 15, 2016"

// You can optionally pass it a Date object...

strftime('%x %X', new Date('1/1/2016')); // Returns "1/1/2016 12:00:00 AM"

Последний код доступен здесь: https://github.com/thdoan/strftime

Лично, поскольку я использую как PHP, так и jQuery / javascript в равных пропорциях, я использую функцию даты из php.js http://phpjs.org/functions/date/ функции могут иметь идентичный текст, но ссылаться на разные замыкания

Firefox (Gecko): 4 (2.0)

. Вы просто включите файл date.js в ваш HTML-код, используя предпочитаемый вами метод, затем назовите его следующим образом:

var d1=new Date();
var datestring = date('Y-m-d', d1.valueOf()/1000);

. Вы можете использовать d1.getTime () вместо valueOf (), если вы хочу, они делают то же самое.

, вы описываете, какие результаты вы хотите, но не как делать Это. Подробнее об этом

При разработке этого решения, я уделил особое внимание угловым случаям, эффективности, но в то же время пытался найти простое решение, которое работает, надеюсь, с некоторой элегантностью. JavaScript позволяет использовать оба свойства Параметры , Yahoo UI (Util) и , могут справиться с этой ситуацией, используя .

// 11/6/2000
kendo.toString(new Date(value), "d")

// Monday, November 06, 2000
kendo.toString(new Date(2000, 10, 6), "D")