我有一个DateTime
字符串,我知道它在哪个时区被格式化但在该字符串中没有任何timeZone信息。
示例:2017-01-19 23:53:57
现在这个字符串将在另一个时区的服务器中转换,我无法更改服务器的timeZone。
如果我使用DateTime.Parse("2017-01-19 23:53:57")
,我会得到DateTime
服务器机器的timeZone配置。
这是我的Web应用程序,服务器可以位于不同的时区。
我不想将孟加拉国时间转换为UTC。我只想转换 DateTime字符串,它是孟加拉国时区格式到DateTime 对象也采用孟加拉国时区格式。
答案 0 :(得分:3)
这应该是你的工作,因为你明确知道该来源的时区是在孟加拉国。
var time = DateTime.Parse("2017-01-19 23:53:57");
var clientZone = TimeZoneInfo.FindSystemTimeZoneById("Bangladesh Standard Time");
var utcTime = TimeZoneInfo.ConvertTimeToUtc(time, clientZone);
答案 1 :(得分:-2)
您可以通过以下方法将2017-01-19 23:53:57格式字符串转换为日期时间。
DateTime DateConverter(string date)
{
string[] dateAndTimes= date.Split(' ');
string[] dateParts = dateAndTimes[0].Split('-');
string convertableString = dateParts[2] + "/" + dateParts[1] + "/" + dateParts[0] + " " + dateAndTimes[1];
return Convert.ToDateTime(convertableString);
}