【问题标题】:Split string to convert to datetime causes an error拆分字符串以转换为日期时间会导致错误
【发布时间】:2014-08-16 08:00:32
【问题描述】:

我尝试将波斯日期转换为标准日期时间。波斯日期的格式如下:1392/01/23

我的功能:

 public DateTime ConvertPeersianToEnglish(string persianDate)
        {
            string[] formats = { "yyyy/MMMM/dd" };
            DateTime d1 = DateTime.ParseExact(persianDate, formats,
                                              CultureInfo.CurrentCulture, DateTimeStyles.None);

            return d1;
        }

所以当我调用这个函数并将我的波斯日期传递给它时,我得到了一个错误:

String was not recognized as a valid DateTime.

为什么?

最好的问候

【问题讨论】:

  • 就像今年/月/日

标签: c# datetime type-conversion


【解决方案1】:

使用MM 代替MMMM

string[] formats = { "yyyy/MM/dd" };

MM 是月份编号 0112

MMMM 是完整的月份名称 januarydecember(字符串取决于文化)。

查看 MSDN:Custom date and time format strings

【讨论】:

  • 那么为什么在标准时间我们应该使用 MMMM?
  • @EA 好吧,这一切都取决于您的需求,这只是表示您的日期的另一种方式。虽然我从来没有听说过we should use MMMM in standard time,但你从哪里得到的?
  • 我没有找到任何表明这种情况的东西,所以这完全取决于我猜的预期输入格式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-30
  • 1970-01-01
  • 2015-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多