c# - DateTime.today() 在管理员中的运行方式不同
问题描述
我住在加拿大,DateTime.Today
格式记录为dd/mm/yyyy
. 当我以管理员身份运行应用程序时,它记录了日期时间,这很奇怪。Today
格式为mm/dd/yyyy
.
反正我可以做检查吗?还是计算机的日期时间设置?
解决方案
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
)
推荐阅读
- ajax - 使用 ajax 向 web api 发送复杂和简单的参数
- angular - 为什么 ContentChild 不读取传入的元素?
- python - 应用关联规则时如何检查字符串是否包含单词?
- ruby-on-rails - ActiveRecord::Base.transaction 与 Rails .save
- sql - 如何在第二个 GROUP BY 语句期间重新汇总值
- javascript - d3.append("text") 工作正常,但 .append("div").append("text") 不行
- javascript - Node 中的 ES6 类和函数使用
- ios - Flutter ios initState 执行
- jquery - 从父母的兄弟姐妹那里获取文本并更改模式标题
- c - 使用“指向函数的指针”调用函数背后的逻辑