为什么日期在服务器和本地显示不同?

时间:2014-02-09 06:28:50

标签: c# date

我正在从API文件中读取数据,该文件具有此格式

<DataPoint>
<Amount>38.361</Amount>
<Time>2014-01-02T12:00:00</Time>
</DataPoint>

当我有时间,并在我的网站上在visual studio上打印时,我得到了2014年1月1日。 但是,如果我上传它,我会收到1/2/2014。

为什么当我在我的电脑上使用相同的代码时会产生不同的结果,以及当我在服务器上传它时?

我该如何解决这个问题?

ps:我正在用C#编程,我正在使用对象JArray来获取数据,如果这很重要

            JArray a = JArray.Parse(text); 

但是

2 个答案:

答案 0 :(得分:2)

那是因为DateTime的文化信息。英国日期排列为dd/MM/yyyy,美国日期排列为MM/dd/yyyy您可以使用Datetime.ToString("dd/MM/yyyy")将其转换为您想要显示的日期时间格式。

答案 1 :(得分:2)

将数字和日期时间值转换为string的格式取决于操作系统文化设置,如果未在代码中明确设置它们。看起来就是这种情况。

如果您需要在任何地方使用相同的日期/数字格式,无论用户如何设置操作系统首选项,您都应提供IFormatProvider实例,该实例将提供格式化并覆盖操作系统默认值。

最常用的是CultureInfo.InvariantCulture

var dateString = myDate.ToString(CultureInfo.InvariantCulture);