【发布时间】:2016-02-12 16:41:25
【问题描述】:
我有包含日期的逗号分隔字符串,并希望将其转换为 UTC。
我写了这段代码:
daterange1.Select(t => t.Split(',').Select(r => r.Replace(r, TimeZoneInfo.ConvertTimeToUtc(DateTime.Parse(r), selectedTimeZone).ToString())));
但它只是转换第一个元素而不是所有元素。
有什么建议吗?
编辑
daterange = "2016-02-15 17:30:00,2016-02-15 18:00:00;2016-02-16 17:30:00,2016-02-16 18:00:00";
var daterange1 = dateRange.Split(';');
daterange1.Select(t => t.Split(',').Select(r => r.Replace(r, TimeZoneInfo.ConvertTimeToUtc(DateTime.Parse(r), selectedTimeZone).ToString())));
每个逗号分隔的字符串包含开始日期和结束日期。
【问题讨论】:
-
当 LINQ 不合适时的一个很好的例子
-
在您的问题中显示逗号分隔的字符串并显示所需的结果。
-
为什么在
r上使用Replace而不仅仅是解析、转换为utc 和tostring(或者最好将其保留为DateTime)?基本上r.Replace(r, whatever)与whatever相同 -
@TimSchmelter,我知道那个 linq 语句有问题,如果你能纠正它会更好