【问题标题】:DateTime Format Problem To Get Same Format获取相同格式的日期时间格式问题
【发布时间】:2011-02-14 08:33:17
【问题描述】:

我对使用日期时间格式有一些疑问。

在项目的一部分中,客户端电脑将他们的日期时间发送到服务器。 我们需要以与dd/MM/yyyy 相同的格式获取这些日期时间。

然而,客户端电脑使用各种日期格式,所以,他们发送 像这样的各种日期时间格式。例如,

dd-MM-yyyy,dd/MM/yyyy,MM-dd-yyyy,MM/dd/yyyy

我该如何解决这个问题?

【问题讨论】:

  • 客户端不能发送日期是yyyy/MM/dd等常量格式吗?
  • 什么样的客户?什么样的服务器? (我们这里说的是 ASP.NET 吗?
  • 我们的项目是基于窗口的项目。
  • 所以 C# win 表单回发到另一个 C# 服务器应用程序?什么是消息传递协议?

标签: c# datetime


【解决方案1】:

绝对最好的方法是不要将日期值视为字符串。它们应尽可能被视为DateTime 值。这样做时,所有与格式相关的问题都会消失。如果您有一个客户端,用户输入本地样式的日期格式,输入后直接转换为DateTime,然后将DateTime值发送到系统中。

如果您仍需要以字符串格式交换日期信息,请始终坚持使用标准化格式(例如ISO 8601)。

【讨论】:

  • +1 ISO 8601(在 xs:DateTime 中使用)也将能够处理时区差异。
  • 我确定它是日期时间,因为它不是从用户那里获得的。我的意思是,所有客户端都发送 system.datetime.now.date,但是,该格式取决于他们的 pc 日期时间格式样式。
  • System.DateTime.Today 不是更好的获取日期的方法吗?
  • 是的,它也可以,但是,这两个函数返回的日期时间取决于当前使用的格式。我的意思是如果你的电脑日期时间格式是“dd-MM-yyyy”它返回“14-02-2011”但如果您的格式是“MM-dd-yyyy”,它会返回“02-14-2011”。
  • @Indi: DateTime 内部没有格式化。当您在调试器中查看值或使用ToString 输出它时,它将以一种格式呈现,但这不是值本身的一部分。
猜你喜欢
  • 2020-10-26
  • 2021-12-19
  • 2018-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多