【发布时间】:2017-02-21 05:02:14
【问题描述】:
我正在尝试在时区之间转换时间
public QueryResult<RadAcct> Query(DateTime dateFrom, DateTime dateTo, DbConnection dbConection)
{
TimeZoneInfo tst = TimeZoneInfo.FindSystemTimeZoneById("AUS Eastern Standard Time");
//date from :2/20/2017 10:28:27 AM
DateTime from = TimeZoneInfo.ConvertTimeToUtc(dateFrom, tst);
// error here, date to : 2/21/2017 4:56:31 Am
DateTime to = TimeZoneInfo.ConvertTimeToUtc(dateTo, tst);
}
dateFrom 和 dateTo 来自不同的服务,值是 2/20/2017 10:28:27 AM , 2/21/2017 4:56:31 Am
我遇到了异常:
转换无法完成,因为提供的 DateTime 没有正确设置 Kind 属性。例如,当 Kind 属性为 DateTimeKind.Local 时,源时区必须为 TimeZoneInfo.Local。\r\n参数名称:sourceTimeZone
【问题讨论】:
-
dateTo是如何初始化的?来自客户?来自分贝?硬编码?来自其他服务?Am是故意的还是错字? -
您的
dateTo似乎无效,否则不可能转换为其他时区。 -
sr 关于我更新了我的问题