Datetime.Now今天的互联网

时间:2015-02-23 13:29:17

标签: c# date datetime time datetime-format

如果我写Datetime.Now; .net说它是

  

2/23/2015 5:24:41 PM

但如果我将计算机的日历更改为2月16日。它说:

  

2/16/2015 5:24:41 PM

我怎么能对C#说你必须得到全球时间而不是我的电脑时间?

Datetime.UtcNow;

相同

2 个答案:

答案 0 :(得分:2)

以下是可用于从 NIST Internet Time Service检索时间的代码示例。

var client = new TcpClient("time.nist.gov", 13);
using (var streamReader = new StreamReader(client.GetStream()))
{
    var response = streamReader.ReadToEnd();
    var utcDateTimeString = response.Substring(7, 17);
    var localDateTime = DateTime.ParseExact(utcDateTimeString, "yy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal);
}

答案 1 :(得分:0)

你不能(使用标准.NET)

' DateTime.UtcNow'某些回复建议(根据MSDN):

  

获取一个DateTime对象,该对象在此计算机上设置为当前日期和时间,表示为协调世界时(UTC)。

你必须找到一个在线时间提供者并挂钩它。

见这里:Free Rest API to get current time as string (timezone irrelevant)