System.DateTime.Now在C#中返回什么?

Fir*_*nas 3 c# asp.net

System.DateTime.Now几次在C#中返回?是本地计算机(客户端)时间还是服务器(IIS)时间?

如果这返回客户端时间,如何获取服务器时间,反之亦然?

编辑 确定,对不起,我放错了是一个错误.但问题是当地时间或服务器时间.

Jon*_*nas 6

DateTime.Now返回服务器上的当前日期和时间,表示为本地时间

要获得客户端时间,您需要使用javascript:

var now = new Date();
var hours = now.getHours();
var minutes = now.getMinutes();
//etc
var utcHours = now.getUTCHours();
var utcMinutes = now.getUTCMinutes();
//etc
//or
var utc = now.getTime();//milliseconds since 1 January 1970 00:00:00 UTC
Run Code Online (Sandbox Code Playgroud)


Tim*_*ora 6

DateTime.Now 执行几个步骤:

  • 从操作系统获取UTC时间
  • 正在执行计算机的注册表中获取时区信息
  • 使用该时区信息将UTC解析为本地时间(同样,执行机器的本地时间)

如果这返回客户端时间,如何获取服务器时间,反之亦然?

如果您在多个时区中处理客户端,以UTC格式存储所有日期然后存储客户端的时区以进行转换通常很有用.

JavaScript也可用于将UTC日期解析为客户端时间和/或在Web浏览器中获取时间.

地理定位(例如检查用户的IP)也可用于猜测用户的位置/时区,但不能保证准确.