Подтвердить что ты не робот

Javascript получает дату в формате

Я хочу получить сегодняшнюю дату в формате mm-dd-yyyy

Я использую var currentDate = new Date(); document.write(currentDate);

Я не могу понять, как его форматировать.

Я видел примеры var currentTime = new Date(YY, mm, dd); и currentTime.format("mm/dd/YY");

Оба из них не работают

Наконец-то я получил правильно отформатированную дату, используя

var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1;//January is 0!`

var yyyy = today.getFullYear();
if(dd<10){dd='0'+dd}
if(mm<10){mm='0'+mm}
var today = mm+'/'+dd+'/'+yyyy;
document.write(today);'`

Это кажется очень сложным для такой простой задачи.

Есть ли лучший способ получить сегодняшнюю дату в dd/mm/yyyy?

4b9b3361

Ответ 1

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

<plug class="shameless">

Или, если вы обнаружите, что спецификаторы формата уродливы и трудно расшифровываются, здесь представлена ​​краткая реализация форматирования, которая позволяет использовать спецификаторы формата для чтения человеком (а именно самих экземпляров экземпляра даты):

date.format("{Month:2}-{Date:2}-{FullYear}"); // mm-dd-yyyy

</plug>

Ответ 2

var today = new Date();

var strDate = 'Y-m-d'
  .replace('Y', today.getFullYear())
  .replace('m', today.getMonth()+1)
  .replace('d', today.getDate());

Ответ 3

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

Ответ 4

function dateNow(splinter){
  var set = new Date(); 
  var getDate = set.getDate().toString();
  if (getDate.length == 1){ //example if 1 change to 01
   getDate = "0"+getDate;
  }
  var getMonth = (set.getMonth()+1).toString();
  if (getMonth.length == 1){
   getMonth = "0"+getMonth;
  }
  var getYear = set.getFullYear().toString();
  var dateNow = getMonth +splinter+ getDate +splinter+ getYear; //today
  return dateNow;
}

формат этой функции: mm dd yyyy и разделение вы можете выбрать и заменить, если хотите... например dateNow ( "/" ) вы получите 12/12/2014

Ответ 5

Нет ничего встроенного, но подумайте об использовании этого, если вы уже используете jQuery (а если нет, то вы тоже должны это учитывать!)

Ответ 6

date.js - это то, что вам нужно. Например, ниже приведен фрагмент, чтобы преобразовать дату в строку как стиль Java

new Date().toString('M/d/yyyy')

Ответ 7

(new Date()).format("MM-dd-yyyy")

N.B. месяц "ММ" не "мм"

Ответ 8

function appendZeros(value,digits){
    var c= 1;
    initValue = value;
    for(i=0;i<digits-1;i++){
        c = c*10;
        if( initValue < c ){
            value = '0' + value;
        }
    }
    return value;
}