我正在从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);
但是
答案 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);