在双数组中获取给定日期的第一个日期索引

时间:2018-07-27 05:21:10

标签: c# datetime

我使用double拥有DateTime.ToOaDate()个日期数组(转换为双精度)。它还由Datetime中的Double组成,例如-

26-July-2018 14:00:00
27-July-2018 12:09:00
27-July-2018 12:10:00
27-July-2018 12:15:00
28-July-2018 12:50:00
28-July-2018 13:40:00

现在,我有一个特定日期,是说27-July-2018 12:15:00的两倍。我想要从27-July-2018的第一个日期时间开始的索引。在上述情况下,我需要索引27-July-2018 12:09:00

请注意,我已经以DateTime格式说明了事情。但在 实际上所有这些数据都在double数组中。

2 个答案:

答案 0 :(得分:2)

您可以尝试的是:

DateTime tocheck = new DateTime();
tocheck = DateTime.Parse("27-July-2018 12:15:00");
double tochkd = tocheck.ToOADate();

int index = dateDouble.IndexOf(dateDouble.FirstOrDefault(x => (int)x == (int)tochkd));

或者您也可以做

int index = dateDouble.IndexOf(dateDouble.FirstOrDefault(x => (int)x == tocheck.Date.ToOADate());

输出:-

   result = 1

如果存在该值,它将返回索引,否则将返回-1

答案 1 :(得分:1)

尝试一下:

str = '[{"img_type":"HA","img_size":0,"img_name":"8a040ff1-e780-4843-9f01-6dc37e11f3c8"},{"img_type":"HB","img_size":0,"img_name":"8a040ff1-e780-4843-9f01-6dc37e11f3c8"}]'
array = eval(str)