关于c#:String转换为DateTime

String converted to DateTime

本问题已经有最佳答案,请猛点这里访问。

我调用了一个API来获取一个特定的DateTime,但是我得到的响应是一个字符串,我不知道如何将该字符串转换成DateTime。我得到的字符串是"1388064600",我知道它应该代表"26/12/13-星期四下午2:30 CEST"。

如何将此字符串转换为日期时间对象?这是已知的格式吗?


我假设您得到了Unix时间("1388064600"),它被定义为1970年1月1日午夜(UTC)以来的秒数。您可以使用此函数将其转换为日期时间:

1
2
3
4
5
public DateTime FromUnixTime(long unixTime)
{
    var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
    return epoch.AddSeconds(unixTime);
}

现在是Unix时间请参见:如何将UNIX时间戳转换为日期时间,反之亦然?

这些可能有助于解释。

  • http://en.wikipedia.org/wiki/unixu时间
  • http://www.epochconverter.com/


看看这篇文章,很有帮助。这是他们的建议。

1
2
3
4
System.DateTime dateTime = new System.DateTime(1970, 1, 1, 0, 0, 0, 0);
double timestamp = 1388064600;
// Add the number of seconds in UNIX timestamp to be converted.
dateTime = dateTime.AddSeconds(timestamp);