繁体   English   中英

解析字符串时间格式(非时区)

[英]Parsing String Time Format (NOT Time Zones)

假设时间格式(不是时区数据,仅是表示12小时制时间的纯文本字符串),解析该数据的最佳方法是什么(下面的示例)?

我觉得这是一个非常简单的问题,但我虽然关于它的很多,想不通解析出一个防呆处理 hourminute时间“格式”任何一个值。

我正在使用一个简单的表单,该表单允许输入时间(例如,预订时间),但是除了纯文本之外,没有其他方法可以使表单字段(Google表单,有限的可定制性)成为可能一个人希望在其中放入可行数据的时间格式。 以下是一些可以输入的时间示例:

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程序员可以想到的两种方法。

我很高兴听到您的回答,认为对您有帮助。 但是,在编写过多代码之前,请重新审视您所做的断言:

...除了纯文本外,没有其他方法可以使表单字段(Google表单,有限的可自定义性)

这是您使用Forms UI定义问题以显示日期和时间选择器的方式。

屏幕截图:表单日期/时间选择器

接收到表单响应的电子表格将以Date对象结尾-完全不需要弄乱字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM