C# 人类可读的日期到日期时间

C# 人类可读的日期到日期时间,c#,datetime,type-conversion,C#,Datetime,Type Conversion,我需要将“人类可读”的日期格式转换为DateTime,例如: 日期:2013年1月20日 收件人:年月日 有人知道格式是什么吗?或者是否有人可以用DateTime.Parse来解析并提供格式?我只想在跳入日期分析器之前进行检查。 MMMM dd,yyyy是您要查找的格式字符串 使用或使用特定格式字符串解析日期时间 解析后,您将能够以所需格式打印值: string input = "20, 2013"; DateTime value; if (DateTime.TryParseExact(inp

我需要将“人类可读”的日期格式转换为DateTime,例如:

日期:2013年1月20日 收件人:年月日

有人知道格式是什么吗?或者是否有人可以用DateTime.Parse来解析并提供格式?我只想在跳入日期分析器之前进行检查。

MMMM dd,yyyy
是您要查找的格式字符串

使用或使用特定格式字符串解析日期时间

解析后,您将能够以所需格式打印值:

string input = "20, 2013";
DateTime value;

if (DateTime.TryParseExact(input, "dd, yyyy", CultureInfo.CurrentCulture, DateTimeStyles.None, out value))
{
    string output = value.ToString("dd/MM/yyyy");
}

我不太确定您的目标,但您是否正在尝试根据您选择的
MM/dd/yyyy
格式格式化您的
DateTime

如果您是,您只需执行以下操作:

DateTime.Now.ToString(MM/dd/yyy);
DateTime.Now.ToString(MMMM, MM dd, yyyy);
DateTime.Now.ToString(MMMM, MM dd, yyyy hh:mm:ss);
基本上,您必须使用这些:

  • 大写MM:表示月份,因此MMMM(也创建长日期)
  • 小写字母d:表示当天
  • 小写字母y:表示年份
  • 然后hh:mm:ss实际上会增加一小时、一分钟、一秒
您还可以利用
Parse
来确保它被正确捕获

基本上,您可以根据需要轻松管理或更改格式。MSDN在这方面也有一些很棒的文章


希望这能有所帮助。看起来当我发布一些答案时,生成了一些答案。所以你会得到一些可靠的反馈。

我已经编辑了你的标题。请参见“”,其中的共识是“不,他们不应该”。您确实可以使用
DateTime.Parse来完成,方法是以预期的格式传递。这不能解决你的问题吗?这很有效!谢谢,我试图构建我的表达式,但我使用的是MM-dd-yyyy,因此很明显,我没有使用逗号和两个额外的MM来指定月份名称,而不是数字。谢谢!