日期格式“日/月/年”;以“yyyy / MM / dd"

本文关键字:yyyy MM quot dd 格式 日期 | 更新日期: 2023-09-27 18:01:17

我知道这个问题以前已经问过了,并且用各种方法解决了。


我正在将一个值从字符串转换为日期时间。

在整个项目中,我使用了相同的CultureInfo,所有字符串都转换为使用convert. todatetime()完成的日期,但现在有一个文本字段拒绝转换。

I have try:

string date = "27/02/2013";
string startdated = (Convert.ToDateTime(date)).ToString("yyyy/MM/dd");

(转换为datetime并将其更改回所需格式的sting。

甚至

Datetime dt = Convert.toDateTime(date); doesn't work 
DateTime.ParseExact(date, "yyyy/MM/dd", format); doesn't work

都给我同样的错误"String was not recognized as a valid DateTime."我收到我的日期值从一个文本框与ajax日历扩展器(CalendarExtender。Format = "dd/MM/yyyy"用于显示目的,这也适用于其他任何地方,即"dd/MM/yyyy"用于显示,"yyyy/MM/dd"用于过程),除了这个最终值,它根本不会改变。一切都通过我的机器完成,没有外部服务器

日期格式“日/月/年”;以“yyyy / MM / dd"

您的输入字符串的格式与您提供的DateTime格式不同。ParseExact。

DateTime.ParseExact(date, "yyyy/MM/dd", format); 

必须以年/月/日格式输入日期。但是你的字符串在日/月/年

这个应该会更好。

string date = "27/02/2013";
DateTime parsedDate = DateTime.ParseExact(date, "dd/MM/yyyy", CultureInfo.InvariantCulture); 

您的日期是date = "27/02/2013";,您当前的格式(在DateTime.ParseExact中)"yyyy/MM/dd"它应该是:

"dd/MM/yyyy"

所以下面的代码应该可以工作。

string date = "27/02/2013";
DateTime dt = DateTime.ParseExact(date, "dd/MM/yyyy", CultureInfo.InvariantCulture);

您还可以使用"d/M/yyyy"格式,它将处理单位数或双位数日期/月。