【发布时间】:2011-08-03 00:36:13
【问题描述】:
我有一个包含记录的文本文件。我需要确定时间(这是记录结构的一部分)是否在代表上下限的 2 倍(存储在字符串中)之间。 在文件中,时间以 145540123456 表示,这意味着 14 是小时,55 - 分钟,40 - 秒,123456 - 精确到微秒。
我决定它是否在范围内的上限和下限时间,我将它作为相同格式的字符串获取,例如“093000000000”。怎么计算,需要用time_t和time library吗?
注意:我不能使用 Boost。
【问题讨论】:
-
将数字转换为
long long并进行比较(只要范围不跨越多天,这将起作用。) -
您可以对字符串值(上限、下限和记录时间)进行排序,因为您的格式使它们完全按字母顺序排序。如果记录时间是顺序的第一个或最后一个,则超出范围。一个警告是时间都应该在同一天。
-
你确定我可以使用字符串比较来比较逻辑时间吗?我不能得到不正确的时间顺序吗?