我有一个已安装在美国服务器上的C#Web应用程序,而数据库位于另一台服务器中。我正在从印度访问我的申请。现在,当用户注册时,他从日历控件中选择报告日期,该控件默认选择当前系统日期时间,并从后台C#代码中插入用户创建日期。由于我在我的本地浏览器中使用该应用程序,这就是为什么两个日期都不同。无论如何都要解决这些冲突。
obUser.CreationDate = Datetime.Now
答案 0 :(得分:4)
而不是DateTime.Now
使用:DateTime.UtcNow
。 UtcNow符合MSDN:
获取一个设置为当前日期和时间的DateTime对象 这台计算机,以协调世界时(UTC)表示。
答案 1 :(得分:1)
还有:
obUser.CreationDate = DateTime.UtcNow;
看看: Converting DateTime.Now To A Different Time Zone
TimeZoneInfo maltaTimeZone = TimeZoneInfo.FindSystemTimeZoneById("...");
DateTime utc = DateTime.UtcNow;
DateTime malta = TimeZoneInfo.ConvertTimeFromUtc(utc, maltaTimeZone )
TimeZone列表 List of Timezone ID's for use with FindTimeZoneById() in C#?
static void Main(string[] args)
{
foreach (TimeZoneInfo z in TimeZoneInfo.GetSystemTimeZones())
Console.WriteLine(z.Id);
}