将日期格式转换为 raddatepicker 值的 YYYY-MM-DD

Posted

技术标签:

【中文标题】将日期格式转换为 raddatepicker 值的 YYYY-MM-DD【英文标题】:convert date format to YYYY-MM-DD of raddatepicker value 【发布时间】:2015-07-15 05:50:41 【问题描述】:

我正在尝试将 raddatepicker 的值转换为 YYYY-MM-DD 格式。但我得到了例外,

orderDate.SelectedDate = DateTime.Now.Date;   // Date = 15/7/2015 12:00:00 AM
string orderDate_ = orderDate.SelectedDate.Value..ToShortDateString();  // 15/7/2015

IFormatProvider culture = new CultureInfo("en-US", true);
DateTime dateVal = DateTime.ParseExact(orderDate_, "yyyy-MM-dd", culture);  // geting exception [System.FormatException] = "String was not recognized as a valid DateTime."

获取异常

[System.FormatException] = "String was not recognized as a valid DateTime."

请建议如何将日期格式转换为 yyyy-MM-dd。

【问题讨论】:

你试过用yyyy-MMM-dd吗? 【参考方案1】:

你必须给出正确的格式,你需要dd-MM-yyyy而不是yyyy-M-dd,你可以在这篇文章中找到更多Custom Date and Time Format Strings

DateTime dateVal = DateTime.ParseExact(orderDate_, "dd-M-yyyy", CultureInfo.InvariantCulture); 

【讨论】:

如果月份大于 9 怎么办?我的意思是 10 月、11 月和 12 月 格式字符串“M”用于1-12,在我的回答中提到的链接msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx【参考方案2】:

由于orderDate_ 看起来像15/7/2015,您需要改用dd/M/yyyy 格式。

DateTime dateVal = DateTime.ParseExact(orderDate_, "dd/M/yyyy", culture);

但我认为这是不必要的,因为您的 orderDate.SelectedDate 已经DateTime.

【讨论】:

如果月份大于 9 怎么办?我的意思是 10 月、11 月和 12 月 @user4221591 M specifier 接受 112。这意味着它很好。

以上是关于将日期格式转换为 raddatepicker 值的 YYYY-MM-DD的主要内容,如果未能解决你的问题,请参考以下文章

Telerik 中的日期格式问题:RadDatePicker

将具有日期和纪元格式值的字符串列转换为 postgresql/Tableau prep 中的日期列

使用 Javascript 将日期设置为 raddatepicker

未设置日期时,将 RadDatePicker 的默认值设置为 NULL

RadDatePicker中的日期和小时格式

如何将包含日期的 varchar 字段类型转换为正确的日期格式