日期格式和客户端 - 服务器交互

时间:2011-02-07 17:50:40

标签: .net internationalization

想象一个抽象的问题。

有一个客户端(C)与服务器(S)进行交互。它们更改了日期变量(d)。

服务器也可以是法语或英语,也可以是客户端。

法国客户(“31/12/2011”)向英语服务器(“12/31/2011”)发送的日期无法识别。反之亦然。

如何在.NET中避免这样的问题。

3 个答案:

答案 0 :(得分:4)

您是否掌控了客户端和服务器?如果是这样,只要就格式和文化达成一致 - 我会建议不变的文化 - 并明确确保双方都遵守它。

您可以使用不变文化在.NET中轻松解析和格式化 - 查找包含ToString参数的ParseTryParse / IFormatProvider重载。

答案 1 :(得分:1)

使用Ticks属性在客户端和服务器之间发送它。这是一个数字,无论您想要将日期格式化为什么,它都将始终相同。

答案 2 :(得分:0)

您是否有任何理由将日期作为字符串发送?最好的方法是使用DateTime数据类型共享日期。如果出于任何原因,您可以只发送字符串,最好是将日期值转换为LongDateFormat然后转移,可以在另一端解析以获得有意义的日期。