我从我的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);
我总是在我的区域的时间内显示日期时间,而不是我传递给它的cultureinfo值。
当我解析具有特定文化的普遍时间时,我需要的是向我展示特定cultureinfo的日期和时间(上述代码中的丹麦语)。我该怎么做?
答案 0 :(得分: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);
答案 1 :(得分:0)
这可能会有所帮助
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");
答案 2 :(得分:-1)