Javascript получить дату в формате - PullRequest
26 голосов
/ 08 февраля 2011

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

Я использую 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?

Ответы [ 8 ]

23 голосов
/ 08 февраля 2011

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

<plug class="shameless">

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

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

</plug>

13 голосов
/ 29 марта 2015
var today = new Date();

var strDate = 'Y-m-d'
  .replace('Y', today.getFullYear())
  .replace('m', today.getMonth()+1)
  .replace('d', today.getDate());
4 голосов
/ 08 февраля 2011

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

2 голосов
/ 18 декабря 2014
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;
}

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

2 голосов
/ 08 октября 2012

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

new Date().toString('M/d/yyyy')
1 голос
/ 08 февраля 2011

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

0 голосов
/ 10 апреля 2016
(new Date()).format("MM-dd-yyyy")

NB месяц - "ММ", а не "мм"

0 голосов
/ 08 января 2014
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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...