C# System.DateTime是否依赖于客户端?

C# System.DateTime是否依赖于客户端?,c#,.net,asp.net,C#,.net,Asp.net,我在ASP.Net上开发一个考勤系统,整个星期的日期由我的程序根据当前日期计算。我今天用的是DateTime.Today。我担心使用它,因为我觉得用户只需更改他们的系统时钟和标记前一周的出席人数,就可以修改这个日期 可以通过更改客户端的系统时钟来更改DateTime.Today吗?如果是的话,我还可以用别的东西来代替它吗?DateTime。今天将返回运行它的计算机上的值 在ASP.NET页面中,这将是服务器 客户端浏览器无法修改此值 如果您在基于客户端的技术(如silverlight)中使用该类

我在ASP.Net上开发一个考勤系统,整个星期的日期由我的程序根据当前日期计算。我今天用的是DateTime.Today。我担心使用它,因为我觉得用户只需更改他们的系统时钟和标记前一周的出席人数,就可以修改这个日期


可以通过更改客户端的系统时钟来更改DateTime.Today吗?如果是的话,我还可以用别的东西来代替它吗?

DateTime。今天
将返回运行它的计算机上的值

在ASP.NET页面中,这将是服务器

客户端浏览器无法修改此值


如果您在基于客户端的技术(如silverlight)中使用该类,或使用自定义客户端应用程序并直接在其中使用
DateTime.Today
,则是的,客户端将使用并可以更改客户端日期/时间。

DateTime.Today
将返回运行该类的计算机上的值

在ASP.NET页面中,这将是服务器

客户端浏览器无法修改此值


如果您在基于客户端的技术(如silverlight)中使用该类,或使用自定义客户端应用程序并直接在其中使用
DateTime。那么,是的,客户端将使用并可以更改客户端日期/时间。

在ASP.NET应用程序中,DateTime。今天应该是服务器上的日期/时间,最终用户不能调整,所以你应该没事。

在ASP.NET应用程序中,DateTime。今天应该是服务器上的日期/时间,最终用户不能调整,所以你应该没事。

DateTime.Now将始终给出服务器上而不是客户端计算机上使用的时间


您也可以使用
DateTime.UtcNow
DateTime.Now将始终给出服务器上使用的时间,而不是客户端计算机上使用的时间


您还可以使用
DateTime.UtcNow

在服务器上,您的所有时间都应该是UTC格式的。使用我建议将用户的时区偏移量保留在数据库中的某个位置,然后从那里进行调整,以便显示。

服务器上的所有时间都应为UTC格式。使用我建议将用户的时区偏移量保留在数据库中的某个位置,然后从该位置进行调整,以便于显示。

不完全符合要求,但需要记住:-)不完全符合要求,但需要记住:-)