假设时间格式(不是时区数据,只是表示 12 小时制时间的纯文本字符串),解析该数据的最佳方法是什么(下面的示例)?
我觉得这是一个非常简单的问题,但是我对此进行了很多思考,并且无法找出一个万无一失的过程来从许多时间“格式”中的任何一种中解析hour
和minute
值。
我正在使用一个允许输入时间(例如,预订时间)的简单表单,但是除了允许任何一个人希望将可用的数据放入其中的时间格式。以下是一些可以输入的时间示例:
1 P // hours would be 13, minutes would be 0
3:15 P.M. // hours would be 15, minutes would be 15
4 P.M // hours would be 16, minutes would be 0
8:30 a // hours would be 8, minutes would be 30
10:45 aM. // hours would be 10, minutes would be 45
12:00 Pm // hours would be 12, minutes would be 0
这些只是一些例子。如果我不在正确的主题中,请随意修复标签 - 但是我正在使用 Google Apps 脚本/Javascript 来完成此操作。
我考虑过构建几个正则表达式字符串来查找某些格式(我肯定会花一些时间来写,因为我以前从未写过)。
我还考虑寻找一个 ':' 字符和一个 'a'/'A' 字符或 'p'/'P' 来确定是否需要添加 +12 小时。在检索到这种信息之后,可以通过截断“pm”类型的部分来解决问题,然后split(":")
得到正确的数字。
我觉得第一种方法更稳定,但第二种解决方案可能更容易。我不确定是否有更好的方法,这是我的 n00b 程序员可以想到的两种方法。