首页 > 解决方案 > DateTime.today() 在管理员中的运行方式不同

问题描述

我住在加拿大,DateTime.Today格式记录为dd/mm/yyyy. 当我以管理员身份运行应用程序时,它记录了日期时间,这很奇怪。Today格式为mm/dd/yyyy.

反正我可以做检查吗?还是计算机的日期时间设置?

标签: c#datetime

解决方案


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

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

public override string ToString()
{
  return DateTimeFormat.Format(this, (string) null, DateTimeFormatInfo.CurrentInfo);
}

CurrentInfo对于机器上的不同用户来说,这将是不同的。一些操作会隐式调用ToString()(例如Console.WriteLine

好消息是 for 有重载ToString(),所以你可以做类似的事情

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

(或任何IFormatProvider


推荐阅读