#javascript #datetime #date
#javascript #дата и время #Дата
Вопрос:
Я хотел бы иметь возможность преобразовывать простые временные строки из одной цифры в полную временную метку, понятную javascript.
Например:
'1PM' => 13:00
'5AM' => 05:00
'7:15PM' => 19:15
etc, etc
Я хочу создать пуленепробиваемое поле ввода времени, которое будет принимать любой используемый в нем формат времени.
Комментарии:
1. @Piskvor Я пробовал передавать различные строки даты в объект даты javascript. Кажется, что принимается значение AM PM только в следующем формате: ’13:00 01/01/01′. Я хочу, чтобы моим пользователям было очень легко вводить дату. Очень похоже doodle.com выполняет.
2. Пожалуйста, прекратите писать теги в заголовках.
Ответ №1:
Я не знаю способа сделать это с помощью встроенного JavaScript, например, Date. Возможно, вам придется создать свой собственный, например, проанализировать число с помощью строковых функций JavaScript, затем создать объект Date и вызвать для него setHours и setMinutes.
Ответ №2:
В зависимости от того, насколько пуленепробиваемым вы хотите сделать свой код, вы можете попробовать datejs размером 25,2 КБ.
Комментарии:
1. Спасибо @epascarello. Кажется, отличная библиотека. Это дорогой ресурс для веб-приложения? Каков рекомендуемый лимит кб для JS в обычном веб-приложении?
2. Размер велик, если вы используете какие-то базовые вещи, но если вы делаете надежные вещи с датами, оно того стоит.
Ответ №3:
Я придумал это как приближение:
new Date (new Date().toDateString() ' ' '10:55 PM').toTimeString().split(' ')[0]
Проблема здесь в том, что это не будет работать с форматами в вашем примере. Они должны быть не менее 1:00 PM
(ЧЧ: ММ и пробел между временем и AM / PM)