У меня есть формат даты 181221171403
18-year
12-month
21-day
17-hour
14-minute
03-second
Как конвертировать формат ниже.
December 21st 2018, 17:14:03.000
Вы можете использовать moment.js для этой работы. Больше в момент документации
var stringDate = '181221171403';
var date = moment(stringDate, 'YYMMDDHHmmss');
console.log(date.format('MMMM Do YYYY, HH:mm:ss'));
<script src="https://momentjs.com/downloads/moment.js"></script>
var str = '181221171403';
var dateArr = str.match(/.{1,2}/g); // given ["18", "12", "21", "17", "14", "03"]
var strDate = '20'+dateArr[0]+'-'+dateArr[1]+'-'+dateArr[2]+' '+dateArr[3]+':'+dateArr[4]+':'+dateArr[5];
var d = new Date(strDate);
const monthNames = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"
];
// December 21st 2018, 17:14:03.000
const res = monthNames[d.getMonth()]+' '+d.getDate()+' '+d.getFullYear()+' '+d.getFullYear()+' '+d.getHours()+':'+d.getMinutes()+':'+d.getSeconds()+'.000';
console.log(res);
И после вы можете сгенерировать дату в формате shouaite, используя объект V Date of JavaScript
Это должно работать для вас в ванильном JavaScript:
const myDate = new Date(181221171403);
const locale = "en-us";
const options = {
weekday: 'long',
year: 'numeric',
month: 'short',
day: 'numeric',
hour: '2-digit',
minute: '2-digit'
};
const formatted = myDate.toLocaleString(locale, options);
console.log(formatted);
Объект Date может быть инициализирован с отметкой времени следующим образом:
const date = new Date(181221171403);
и это даст вам следующий результат
Mon Sep 29 1975 13:12:51 GMT+0200
Вы можете создать функцию, которая будет отображать текущую дату в красивом строковом формате, а затем создать функцию с часами и объединить эти две функции или просто создать ее в одной функции. Вот пример того, как создать функцию, которая отображает текущую дату в красивом строковом формате.
function getDate() {
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDay();
var res = 'Today is ${year}-${month}-${day}';
return res;
}
var x = getDate();
console.log(x);