我编写了一个代码,基本上可以从PST时区中的数据库中提取事务 . 我想做的只是将这些日期转换为CEST时区和IST(以色列标准时间) .
我做了类似下面的事情:
var transactions = ctx.UserStores.Where(x => x.UserId == loggedUser.UserId).SelectMany(x => x.StoreItems.SelectMany(y => y.StoreItemTransactions)).ToList();
var hourlyData = transactions
.GroupBy(x => TimeZoneInfo.ConvertTime(x.TransactionDate.Value, TimeZoneInfo.FindSystemTimeZoneById(timeZone)).Hour)
.Select(pr => new HourlyGraph { Hour = pr.Key, Sales = pr.Sum(x => x.QuantitySoldTransaction) })
.ToList();
其中timeZone参数可以是以下之一:
Central European Standard Time
Israel Standard Time
Pacific Standard Time
Naurally当timeZone参数是= PST时,我希望在我的列表中得到相同的结果...但奇怪的是结果完全被洗牌,我不知道为什么......
所以我的数据库中的日期保存在PST时区,我正在尝试将它们转换为以上3个时区中的一个...
我在这做错了什么?
1 回答
使用
TimeZoneInfo.ConvertTime
版本的示例代码,该版本需要源时区和目标时区 .输出是: