簡體   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