从Java用户输入中将时间解析为Date对象的最佳方法是什么?

从Java用户输入中将时间解析为Date对象的最佳方法是什么?,第1张

从Java用户输入中将时间解析为Date对象的最佳方法是什么?

在您指定的输入上起作用的快速解决方案:

function parseTime( t ) {   var d = new Date();   var time = t.match( /(d+)(?::(dd))?s*(p?)/ );   d.setHours( parseInt( time[1]) + (time[3] ? 12 : 0) );   d.setMinutes( parseInt( time[2]) || 0 );   return d;}var tests = [  '1:00 pm','1:00 p.m.','1:00 p','1:00pm','1:00p.m.','1:00p','1 pm',  '1 p.m.','1 p','1pm','1p.m.', '1p', '13:00','13', '1a', '12', '12a', '12p', '12am', '12pm', '2400am', '2400pm', '2400',  '1000', '100', '123', '2459', '2359', '2359am', '1100', '123p',  '1234', '1', '9', '99', '999', '9999', '99999', '0000', '0011', '-1', 'mioaw' ];for ( var i = 0; i < tests.length; i++ ) {  console.log( tests[i].padStart( 9, ' ' ) + " = " + parseTime(tests[i]) );}

它也应该适用于其他一些品种(例如,即使使用了am,它仍然可以使用-例如)。显然,这很粗糙,但也很轻巧(例如,使用它比完整的库便宜得多)。

警告:该代码不适用于12:00 AM等。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5110784.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存