【问题标题】:convert date format to YYYY-MM-DD of raddatepicker value将日期格式转换为 raddatepicker 值的 YYYY-MM-DD
【发布时间】:2023-03-23 23:38:01
【问题描述】:

我正在尝试将 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吗?

标签: c# datetime telerik raddatepicker


【解决方案1】:

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

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

【讨论】:

【解决方案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。这意味着它很好。
猜你喜欢
  • 2017-06-24
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 2022-01-25
  • 2012-03-05
  • 1970-01-01
  • 2011-02-09
相关资源
最近更新 更多