根据文化将UNIX Epoch转换为Datetime

时间:2016-11-03 15:12:18

标签: c# cultureinfo

我正在开发一种接收UNIX时间戳和文化的方法:

public DateTime unixEpochToDateTime(long unixTimeStamp, string culture) {
    ...
}

致电示例:

DateTime t = unixEpochToDateTime(1478181983, "es-ES");

我需要在多种文化之间转换此UTC时间,而不使用 TimeZone.CurrentTimeZone ,因为此方法将在服务器中运行,服务器文化总是相同。

例如,如果两个用户在EE.UU和英国请求我的方法,我得到相同的UTC?

我很困惑。

2 个答案:

答案 0 :(得分:0)

我认为您可以尝试nodatime。它有许多有用的方法。

答案 1 :(得分:0)

问题解决了......

如果.NET没有提供机制,那是因为无法根据文化来确定时差UTC。

基本上因为文化可以有不同的时区。

文化“es-ES”例如有两个区域:加那利群岛的GTM + 0和伊比利亚半岛的UTC + 1。