System.DateTime.Now 在 C# 中返回的时间是什么时候?是本地机器(客户端)时间还是服务器(IIS)时间?
如果这返回客户端时间,如何获取服务器时间,反之亦然?
编辑 好的,对不起,我放括号是一个错误。但问题是本地时间还是服务器时间。
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
DateTime.Now
执行几个步骤:
如果这返回客户端时间,如何获取服务器时间,反之亦然?
如果您要与多个时区的客户打交道,通常将所有日期存储为 UTC,然后存储客户的时区以用于转换目的。
JavaScript 还可用于将 UTC 日期解析为客户端时间和/或在 Web 浏览器中获取时间。
地理位置(例如检查用户的 IP)也可用于猜测用户的位置/时区,但不能保证准确。
它返回托管网站/应用程序的服务器时间,因为 asp.net 是服务器端技术。
要获取客户端时间,您需要使用 javasrcipt/jQuery,这是客户端技术:
var now = new Date();
now.format("dd/M/yy h:mm tt");
http://blog.stevenlevithan.com/archives/date-time-format http://www.w3schools.com/jsref/jsref_obj_date.asp
希望能帮助到你 :)
当代码在服务器上时,它显然会返回当前服务器时间
DateTime.Now返回服务器计算机上的当前日期和时间,以本地时间表示。
表示代码所在的服务器上。
但是,使用 JavaScript 从浏览器获取当前日期/时间。
function getDateTime()
{
var localTime = new Date();
var year= localTime.getYear();
var month= localTime.getMonth() +1;
var date = localTime.getDate();
var hours = localTime .getHours();
var minutes = localTime .getMinutes();
var seconds = localTime .getSeconds();
//at this point you can do with your results whatever you please
}
它返回当前系统时间
在客户端运行:如果它正在执行客户端,则返回客户端系统时间
在服务器上运行:如果它在服务器上执行,则返回服务器时间
如果您想要服务器时间,只需编写一个在服务器上运行的方法,然后在客户端系统上调用它
请参阅从客户端调用服务器方法的参考示例。