C# DateTime.today()在administrator中的运行方式不同

C# DateTime.today()在administrator中的运行方式不同,c#,datetime,C#,Datetime,我住在加拿大,DateTime。今天格式被记录为dd/mm/yyyy。奇怪的是,当我以管理员身份运行应用程序时,它会记录日期时间。Today格式为mm/dd/yyyy 还有什么我可以检查的吗?或者它是计算机日期时间设置?日期时间对象在内部不是以天和月表示的,因此它本身实际上没有任何本机格式。(这里也没有DateTime.Today()方法,而是一个属性DateTime.Today) DateTime(其中DateTime.Today返回的实例)确实有一个ToString()方法,该方法声明为:

我住在加拿大,
DateTime。今天
格式被记录为
dd/mm/yyyy
。奇怪的是,当我以管理员身份运行应用程序时,它会记录日期时间。
Today
格式为
mm/dd/yyyy


还有什么我可以检查的吗?或者它是计算机日期时间设置?

日期时间对象在内部不是以天和月表示的,因此它本身实际上没有任何本机格式。(这里也没有
DateTime.Today()
方法,而是一个属性
DateTime.Today

DateTime(其中DateTime.Today返回的实例)确实有一个
ToString()
方法,该方法声明为:

public override string ToString()
{
  return DateTimeFormat.Format(this, (string) null, DateTimeFormatInfo.CurrentInfo);
}
对于机器上的不同用户,
CurrentInfo
将是不同的。某些操作将隐式调用
ToString()
(例如
Console.WriteLine

好消息是
ToString()
有重载,因此您可以执行以下操作

Console.Write(DateTime.Today.ToString("dd/MM/yyyy"));

(或任何
IFormatProvider

是,这取决于用户在Windows设置中设置的区域性和日期格式。请注意,自定义日期和时间格式字符串区分大小写
mm
表示分钟,例如,
mm
表示月份。谢谢,我强制它显示为dt.Now.ToString(“dd/mm/yyyy hh:mm:ss tt”);它是有效的。两者在管理员模式和普通用户模式下显示相同的结果。