Отформатируйте Javascript DateTime как дату ('ymdHis') в php - PullRequest
2 голосов
/ 10 мая 2019

Я перемещаю часть кода php в javascript внешнего интерфейса в моем веб-приложении.Мне нужно отформатировать текущую дату и время как date(‘ymdHis’) в javascript.

Я пытался использовать javascript's toLocaleDateString следующим образом:

new Date().toLocaleDateString("ko-KR", { year: "2-digit", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"}).replace(/\D/g,'');

Это решает мою текущую проблему, но я использовал "ko-КР ", чтобы сделать год-месяц-день заказа.Если реализация немного изменится, мне будет тяжело.

Я хочу знать, есть ли какая-либо библиотека javascript для правильного управления этой задачей?Мол, если в следующий раз будет date(‘mydHis’), мне не нужно будет искать локаль, которая следует этому порядку.Я просмотрел moment.js, но, похоже, это не совсем для числового вывода как такового (я не изучал его подробно, извините, если это не так).

Любая помощь будет высоко ценится.

Я нашел это во время поиска, это может быть полезно: https://www.npmjs.com/package/dateformat из http://blog.stevenlevithan.com/archives/date-time-format

(Извините, я совсем новичок в StackOverflow, буду иметь в виду, что использовать редактированиев следующий раз.)

Ответы [ 3 ]

1 голос
/ 10 мая 2019

вы можете использовать moment.js для форматирования вашей текущей даты.

var date = момент ({ваша дата}). ToDate (). Формат ('ГГГГ-ММ-ДД');

также вы можете использовать MOMENT

, что очень легко реализовать.

1 голос
/ 10 мая 2019

Вероятно, для этого не нужна библиотека.

С помощью этого кода вы можете смешивать и сопоставлять элементы даты / времени по своему желанию:

let date = new Date(2019,4,10,15,30,20) //10 May 2019, 3:30:20 PM
let dateStr = date.toLocaleDateString("en-GB", {day:"2-digit", month:"2-digit", year:"2-digit"}) // 10/05/19

let arr = dateStr.split("/")// [ '10', '05', '19' ]
let d = arr[0]; //e.g. 10 
let m = arr[1]; //e.g. 5 
let y = arr[2]; //e.g. 19

let timeStr = date.toLocaleTimeString("en-GB", {hour12:false, hour:"2-digit",minute:"2-digit", second:"2-digit"}) //
let arr2 = timeStr.split(":") // 15:30:20
let H = arr2[0]; //e.g. 15
let i = arr2[1]; //e.g. 30
let s = arr2[2]; //e.g. 20

let ymdHms = y + m + d + H + i + s;

console.log(ymdHms); //190510153020
0 голосов
/ 10 мая 2019

Вы забыли добавить hour12: false в настройках

    const opt = {
      year: "2-digit", month: "2-digit", day: "2-digit",
      hour12: false,
      hour: "2-digit", minute: "2-digit", second: "2-digit"
    }

    new Date().toLocaleDateString("ko-KR", opt).replace(/\D/g, '');

, но простым способом без библиотеки:

function form_ymdHis(xDate) {
  return xDate.getFullYear().toString(10).substring(2)
      + (xDate.getMonth()+1).toString(10).padStart(2,'0')
      + xDate.getDate().toString(10).padStart(2,'0')
      + xDate.getHours().toString(10).padStart(2,'0')
      + xDate.getMinutes().toString(10).padStart(2,'0')  
      + xDate.getSeconds().toString(10).padStart(2,'0')
}


console.log ( form_ymdHis(new Date() ))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...