【问题标题】:Format Localized DateTime C#格式化本地化日期时间 C#
【发布时间】:2021-10-19 08:45:10
【问题描述】:

我想将本地化日期格式化为格式。例如 yyyyMMdd OR ddMMyyyy OR MMddyyyy 基于系统日期格式。以下是我尝试过的方法,它正在工作,但需要有效的方法来做同样的事情。

DateTime.Now.ToLocalTime().Date.ToString().Replace("/","").Replace(":","").Replace(" ","").Replace("-","")

【问题讨论】:

  • “但需要有效的方法来做同样的事情” - 您的确切性能标准是什么,您的基准目前显示什么? (如果你没有精确的性能标准,或者你没有衡量当前的性能,你不真的知道你是否需要让你当前的代码更有效率。)跨度>
  • 为什么不尝试更改 PC 上的本地日期格式并直接从那里读取?检查此站点的日期格式c-sharpcorner.com/blogs/…

标签: c# datetime


【解决方案1】:

你可以使用ToString重载(read also):

DateTime.Now.ToLocalTime().ToString("yyyyMMdd")

(为什么你认为这里需要ToLocalTimeNow 总是返回当地时间)

不能使用 .ToString("yyyyMMdd") 因为我需要不同的结果 取决于我的系统日期格式是什么。如果系统日期时间是 dd-MM-yyyy 我想要 ddMMyyyy,如果它的 yyyy-MM-dd 那么预期结果是 yyyyMMdd

然后你要么坚持你当前的方法,要么使用这样的方法:

DateTime.Now.ToString("d").Replace(DateTimeFormatInfo.CurrentInfo.DateSeparator, "")

【讨论】:

  • 不能使用 .ToString("yyyyMMdd") 因为我需要不同的结果,具体取决于我的系统日期格式。如果系统日期时间是 dd-MM-yyyy 我想要 ddMMyyyy,如果它的 yyyy-MM-dd 那么预期结果是 yyyyMMdd
  • @Soniya:已编辑
猜你喜欢
  • 2021-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-06
  • 2011-11-12
  • 2011-06-21
相关资源
最近更新 更多