繁体   English   中英

在C#中将DateTime字符串转换为特定的时区DateTime

[英]Convert DateTime string to specific timezone DateTime in c#

我有一个DateTime字符串,我知道它在哪个timeZone中格式化,但是该字符串中没有任何timeZone信息。

范例: 2017-01-19 23:53:57

现在,此字符串将在另一个timeZone中的服务器中转换,我无法更改服务器的timeZone。

如果我使用DateTime.Parse("2017-01-19 23:53:57") ,我将获得服务器计算机的timeZone配置的DateTime

这是我的Web应用程序,服务器可以位于不同的时区。

我不想将孟加拉国时间转换为UTC。 我只想将孟加拉国时区格式的DateTime字符串也转换为孟加拉国时区格式的DateTime对象。

这应该做您的工作,因为您清楚地知道源的时区在巴格达什。

var time = DateTime.Parse("2017-01-19 23:53:57");
var clientZone = TimeZoneInfo.FindSystemTimeZoneById("Bangladesh Standard Time");
var utcTime = TimeZoneInfo.ConvertTimeToUtc(time, clientZone);

您可以通过以下方法将2017-01-19 23:53:57格式字符串转换为datetime。

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);
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM