Javascript 在Luxon中使用特定格式将字符串格式化为Datetime
到现在为止,我使用了Javascript 在Luxon中使用特定格式将字符串格式化为Datetime,javascript,luxon,Javascript,Luxon,到现在为止,我使用了momentjs来处理时间,但我想切换到Luxon。但我对以下实现有问题 有一个文本字段,您可以在其中以区域设置时间格式输入日期时间,例如HH:mm(24小时格式)或HH:mm(12小时格式)。使用的时间格式存储在变量timeFormat中 我使用矩js的解决方案: let timeFormat = 'HH:mm' // 'hh:mm a' let textfield = document.querySelector('#input-time'); let timeStrin
momentjs
来处理时间,但我想切换到Luxon
。但我对以下实现有问题
有一个文本字段,您可以在其中以区域设置时间格式输入日期时间,例如HH:mm
(24小时格式)或HH:mm
(12小时格式)。使用的时间格式存储在变量timeFormat
中
我使用矩js的解决方案
:
let timeFormat = 'HH:mm' // 'hh:mm a'
let textfield = document.querySelector('#input-time');
let timeString = textfield.value;
let dateTime = moment(timeString, timeFormat, true);
// Check if time is valid
if(dateTime.isValid() === false){
return;
}
使用12h格式:
,11:00am
有效09:43pm
,11:00
无效21:43
,11:00am
无效09:43pm
,11:00
有效21:43
矩(timeString,timeFormat,true)
类似的函数,因此使用特定格式(例如12h/24格式)将字符串格式化为日期时间。您可以使用
从输入字符串和格式字符串创建日期时间。如果未指定区域设置,则默认为en US,而与系统的区域设置无关
例如:
const DateTime=luxon.DateTime;
常量输入=['11:00 am'、'09:43 pm'、'11:00'、'21:43'];
常量格式=['HH:mm','HH:mm a'];
常量检查时间=(时间字符串,fmt)=>
DateTime.fromFormat(timeString,fmt).isValid
对于(i=0;i