Нужно только время из этого формата даты и времени [дубликата]

1

Я искал время EDT и получил это в таком формате:

Wed Nov 01 2017 06:42:26 GMT+0530 (India Standard Time)

Although, I just want it like 6:42 AM to display !! I tried date time function 
but doesnt help !! 

Целесообразно ли это делать с любой строковой функцией или она будет давать проблемы в будущем (я не хочу никаких вычислений на этом)

Теги:
date
time

3 ответа

2

Используйте формат moment.js для работы с датой в JS.

moment("Wed Nov 01 2017 06:42:26 GMT+0530").format("hh:mm a")
0

Ты можешь использовать

var date = "Wed Nov 01 2017 06:42:26 GMT+0530";
var formattedDate = new Date(date);

var hours = formattedDate.getHours();
var minutes = formattedDate.getMinutes();

hours = (hours > 12) ? (hours - 12) : hours;
var period = (hours > 12) ? 'PM' : 'AM';

var time = hours + ':' + minutes + ' ' + period;

или вы также можете использовать moment.js, вот подробная информация о функции "format".

var time = moment(date).format("hh:mm A");
  • 0
    Для 00:30 он вернется в 00:30 вместо 12:30. Рассмотрим: hours = hours % 12 || 12
0
var date = new Date(); 

var hour = date.getHours();
var minutes = date.getMinutes();

var time = hour + ':' + minutes;

Это сработает.

Примечание: momentjs - отличная библиотека для манипулирования временем, не стоит включать такую большую библиотеку для небольших функций, подобных этому.

  • 0
    Я согласен с вами, но получить AM / PM формат с vanilla JS немного сложнее.
  • 1
    Вопрос заключался в том, чтобы получить время в формате часов. var format = hour > 12 ? 'PM' : 'AM'; даст формат AM / PM. Но moment.js - действительно хорошее предложение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню