想象一个抽象的问题。
有一个客户端(C
)与服务器(S
)进行交互。它们更改了日期变量(d
)。
服务器也可以是法语或英语,也可以是客户端。
法国客户(“31/12/2011”)向英语服务器(“12/31/2011”)发送的日期无法识别。反之亦然。
如何在.NET中避免这样的问题。
答案 0 :(得分:4)
您是否掌控了客户端和服务器?如果是这样,只要就格式和文化达成一致 - 我会建议不变的文化 - 并明确确保双方都遵守它。
您可以使用不变文化在.NET中轻松解析和格式化 - 查找包含ToString
参数的Parse
和TryParse
/ IFormatProvider
重载。
答案 1 :(得分:1)
使用Ticks属性在客户端和服务器之间发送它。这是一个数字,无论您想要将日期格式化为什么,它都将始终相同。
答案 2 :(得分:0)
您是否有任何理由将日期作为字符串发送?最好的方法是使用DateTime数据类型共享日期。如果出于任何原因,您可以只发送字符串,最好是将日期值转换为LongDateFormat然后转移,可以在另一端解析以获得有意义的日期。