1

我从我的 javascript 客户端生成一个日期时间值到 UTC 格式,我需要能够将此日期时间值转换为特定文化的日期和时间。

我这样做是为了获取日期时间

new Date().toUTCString(); // "Tue, 13 Jun 2017 07:44:58 GMT"

在我的 C# 控制台应用程序中

Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture = new CultureInfo("da-DK");
var dt = DateTime.Parse("Tue, 13 Jun 2017 07:44:58 GMT", Thread.CurrentThread.CurrentCulture);
Console.WriteLine(dt);

我总是以我所在区域的时间显示日期时间,而不是我传递给它的文化信息值。

当我解析具有特定文化的通用时间时,我需要的是向我显示该特定文化信息的日期和时间(上面代码中的丹麦语)。我该怎么做?

4

3 回答 3

1

尝试

// See - https://stackoverflow.com/a/7908482/1603275 for a fuller list of options
TimeZoneInfo sourceTimeZone = TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time");

// Not sure if DateTime.UtcNow will default to DateTimeKind.Utc
DateTime utcDate = DateTime.UtcNow;
utcDate = DateTime.SpecifyKind(utcDate, DateTimeKind.Utc);

DateTime localDate = TimeZoneInfo.ConvertTimeFromUtc(utcDate, sourceTimeZone);
Console.WriteLine(localDate);
于 2017-06-13T08:35:55.710 回答
-1

它可能有助于充分

        System.Globalization.CultureInfo customCulture = new System.Globalization.CultureInfo("da-DK", true);
         //to change the date time patern
        //customCulture.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd h:mm tt";

        System.Threading.Thread.CurrentThread.CurrentCulture = customCulture;
        System.Threading.Thread.CurrentThread.CurrentUICulture = customCulture;

        DateTime newDate = System.Convert.ToDateTime("Tue, 13 Jun 2017 07:44:58 GMT");
于 2017-06-13T08:48:07.980 回答
-1

我想你会这样: https ://msdn.microsoft.com/en-us/library/5hh873ya(v=vs.90).aspx

于 2017-06-13T08:26:00.450 回答