确定-一点的一口。所以我的问题是这样的-我需要储存的日期到期在那里 日期部分是必需的,并且我不想任何时转换。因此,举例来说,如果我有效期设置为"08月至2008年"我想要返回值的任何客户机-不管是什么他们的时区。该问题与远程处理这一日期时间是它得到保存/发为"08March2008年00:00",这意味着客户的连接从任何时区以西的我会转变,因此翻转到"07月至2008年" 任何建议,为清洁地处理这种情况?显然它发送一串会的工作。别的什么吗?谢谢, Ian

有帮助吗?

解决方案

你可以创建一个结构日期,提供了访问的细节你想要的/需要的,如:

public struct Date
{
    public int Month; //or string instead of int
    public int Day;
    public int Year;
}

这是轻型、灵活和让你完全控制。

其他提示

我不知道什么远程处理技术,你们参考,但这是一个真正的问题WCF,这只是目前支持将时间作为xs:DateTime,不适合一个日期只有价值,你是不是有兴趣在时区。

.净3.5引入了新的DateTimeOffset类型,这是很好的转移日期之间的时区,但没有帮助的日期只的情况。

理想的情况WCF需要选择支持xs:日期序列化日要求在这里:

http://connect.microsoft.com/wcf/feedback/ViewFeedback.aspx?FeedbackID=349215

我做这样的:每当我有一个日期在内存或储存在一个文件,它总是在DateTime在UTC。当我告诉日期的用户,它始终是一串。当我转换之间的串和DateTime我也做了次区域的转换。

这样我从来没有处理次区域中的我的逻辑,只有在介绍。

你可以把它作为UTC时间

dateTime1.ToUniversalTime()

我想送时间戳串将是最快捷/最简单的方法虽然你可以看看迫使一个区域停止时间的转换从生.

最简单的方法我已经处理这个应用程序在过去的就是储存的日期作为一个字符串中yyyy-mm-dd格式。这是unambigious并不会自动翻译什么。

是的,这是一个痛苦...

为什么你不把它作为一串然后将其转换回日期的类型需要?这种方式,它将不会被转换成在不同的时区。保持简单。

编辑:我喜欢的结构的想法,允许出于良好的功能。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top