C# 获取相同格式的日期时间格式问题

C# 获取相同格式的日期时间格式问题,c#,datetime,C#,Datetime,我有一些关于使用日期时间格式的问题 在项目的一部分中,客户端pc将其日期时间发送到服务器。 我们需要以相同的格式获取这些日期时间,如dd/MM/yyyy 然而,客户端pc使用多种数据格式,因此,它们发送 各种各样的日期时间格式,比如 dd-MM-yyyyy,dd/MM/yyyy,MM-dd-yyyy,MM/dd/yyyyy 如何解决此问题?绝对最好的方法是不要将日期值视为字符串。应尽可能将它们视为DateTime值。执行此操作时,与格式相关的所有问题都会消失。如果您有一个客户端,用户以本地样式输

我有一些关于使用日期时间格式的问题

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

然而,客户端pc使用多种数据格式,因此,它们发送 各种各样的日期时间格式,比如

dd-MM-yyyyy
dd/MM/yyyy
MM-dd-yyyy
MM/dd/yyyyy


如何解决此问题?

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


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

客户机是否可以不发送日期为固定格式,如
yyy/MM/dd
?什么类型的客户机?什么样的服务器?(我们这里说的是ASP.NET吗?我们的项目是基于窗口的项目。所以C#win表单发回另一个C#server应用程序?消息传递协议是什么?+1 ISO 8601(在xs:DateTime中使用)也将能够处理时区差异。我确信它是datetime,因为它不能从用户处获取。我的意思是,所有客户端都发送system.datetime.now.date,但是,该格式取决于他们的pc datetime格式样式。难道不是
system.datetime.Today
是获取日期的更好方式吗?是的,它也可以,但是,两个函数都返回dat时间取决于当前使用的格式。我的意思是,如果您的pc日期时间格式为“dd-MM-yyyy”,则返回“14-02-2011”,但如果您的格式为“MM-dd-yyyy”,则返回“02-14-2011”.@Indi:
DateTime
在内部没有格式。当您在调试器中查看该值或使用
ToString
输出该值时,它将显示一种格式,但该格式不是值本身的一部分。