【发布时间】:2019-01-18 18:04:45
【问题描述】:
正如标题所说,给定两个日期,时间如
time1= "2017-01-31 12:00:00"
time2= "2017-01-31 15:00:00”
我想返回数组中介于这两个时间和日期之间的所有时间戳。例如,这是数组的样子:
2017-01-31 01:33:30 random text log message x
2017-01-31 08:34:30 sdfsd log message y
2017-01-31 11:35:30 sdfsdfsdf log message z
2017-01-31 12:30:30 random text log message x
2017-01-31 13:31:30 sdfsd log message y
2017-01-31 14:32:30 sdfsdfsdf log message z
2017-01-31 16:32:35 sdfsdfsdf log message a
2017-01-31 16:33:30 random text log message x
2017-01-31 16:34:30 sdfsd log message y
2017-01-31 16:35:30 sdfsdfsdf log message z
2017-01-31 16:36:35 sdfsdfsdf log message a
输出:
2017-01-31 12:30:30 random text log message x
2017-01-31 13:31:30 sdfsd log message y
2017-01-31 14:32:30 sdfsdfsdf log message z
我是否必须使用正则表达式来存储每个单独的时间/日期戳的时间和日期,然后将它们与数组中的每个时间戳进行比较?或者什么是最佳解决方案?
【问题讨论】:
-
嗯,你知道日期是 20 个字符长,所以你可以使用子字符串获取日期字符串,然后用 DateFormat 解析它以检查它是否在两个日期之间
-
它们也必须在两次之间
-
你将time1、time2和你的时间戳解析成日期,然后像这样检查它是否在两个时间之间。
timestamp.after(time1) && timestamp .before(time2) -
你能不能把它变成一个正式的答案?但是是说我可以制作以下形式的 DateFormat 对象:“yyyy-mm-dd hh:mm:ss”,然后我可以使用 .before 和 .after?
-
我们可以假设数组总是按日期和时间排序吗?