2016-12-26 128 views
0

我想回到我给它的格式,但它没有改变。 Web服务仅以此格式工作。C#日期时间格式yyyy-MM-dddd

即时= “2016-12-26T08:20:37.494 + 03:00”

DateTime fDate = DateTime.ParseExact(DateTime.Now.ToString(), "yyyy-MM-dd", System.Globalization.CultureInfo.InstalledUICulture); 

req.AP_Info.Instant = fDate; 

我写了上面的代码,但我得到一个错误。 我的电脑的语言是土耳其语。

我想的格式为:2016年12月26日

感谢

回答

0

日期时间是表示日期和时间,但一个DateTime对象类型本身没有特定的输出格式。 确实可以通过调用ToString()方法来显示日期时间以多种输出格式表示的日期,但重要的是要注意,这不会更改实际DateTime对象的任何格式。它只是使用指定的格式创建日期的字符串表示。

如果你有一个代表YYYY-MM-DD日期的字符串,你可以将其转换为使用DateTime.ParseExact方法像这样的日期时间:

string date = DateTime.Now.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture); 
DateTime fDate = DateTime.ParseExact(date, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture); 

使用CultureInfo.InvariantCulture作为的IFormatProvider确保无论当前线程的文化设置如何,它都可以工作。

但是,如果Instant属性的类型是DateTime而不是String,则不需要关心格式,因为DateTime属性只能设置为DateTime对象,而DateTime对象没有特定的格式。

+0

https://s23.postimg.org/42m2730x7/datetime.png 非常感谢您的回复。我会照顾好网络服务。有这样的结果。 –

3

使用DateTime.ToString()方法:

DateTime fDate = DateTime.ParseExact(DateTime.Now.ToString(), "yyyy-MM-dd", System.Globalization.CultureInfo.InstalledUICulture); 
string myformatted = fDate.ToString("yyyy-MM-dd"); 
+0

我希望它返回DateTime.It不是String。 –

+0

DateTime fDate = DateTime.ParseExact(DateTime.Now.ToString(),“yyyy-MM-dd”,System.Globalization.CultureInfo.InstalledUICulture); 我上面写的代码犯了一个错误。 –