C# 将字符串格式转换为日期时间(mm/dd/yyyy)

C# 将字符串格式转换为日期时间(mm/dd/yyyy),c#,datetime,C#,Datetime,我必须将mm/dd/yyyy格式的字符串转换为datetime变量,但它应该保持mm/dd/yyyy格式 string strDate = DateTime.Now.ToString("MM/dd/yyyy"); 请帮助。您需要一个大写的M作为月份部分。 string strDate = DateTime.Now.ToString("MM/dd/yyyy"); 小写的m用于输出(和解析)一分钟(例如h:mm) e、 g.完整日期时间字符串可能如下所示: string strDate = Da

我必须将mm/dd/yyyy格式的字符串转换为datetime变量,但它应该保持mm/dd/yyyy格式

string strDate = DateTime.Now.ToString("MM/dd/yyyy");

请帮助。

您需要一个大写的
M
作为月份部分。

string strDate = DateTime.Now.ToString("MM/dd/yyyy");
小写的
m
用于输出(和解析)一分钟(例如
h:mm

e、 g.完整日期时间字符串可能如下所示:

string strDate = DateTime.Now.ToString("MM/dd/yyyy h:mm");
请注意大小写
mM
的区别


另外,如果您总是处理相同的datetime格式字符串,那么可以通过将它们作为C#扩展方法编写来简化

public static class DateTimeMyFormatExtensions
{
  public static string ToMyFormatString(this DateTime dt)
  {
    return dt.ToString("MM/dd/yyyy");
  }
}

public static class StringMyDateTimeFormatExtension
{
  public static DateTime ParseMyFormatDateTime(this string s)
  {
    var culture = System.Globalization.CultureInfo.CurrentCulture;
    return DateTime.ParseExact(s, "MM/dd/yyyy", culture);
  }
}

示例:在日期时间/字符串之间转换

DateTime now = DateTime.Now;

string strNow = now.ToMyFormatString();
DateTime nowAgain = strNow.ParseMyFormatDateTime();
请注意,无法存储自定义的
DateTime
格式信息以用作.NET中的
default
大多数字符串格式取决于当前设置的区域性,即

System.Globalization.CultureInfo.CurrentCulture.
唯一简单的方法是滚动自定义扩展方法


另外,另一种简单的方法是为DateTime使用不同的“容器”或“包装器”类,即一些定义了
显式运算符
的特殊类,可以自动转换为DateTime/string或从中转换。但这是一个危险的领域。

您正在寻找
DateTime.Parse()
方法()

因此,您可以:

var dateTime = DateTime.Parse("01/01/2001");
这将为您提供一个
DateTime
类型化对象

如果需要指定要使用的日期格式,可以使用
DateTime.ParseExact
()

在这种情况下(您使用的是英式日期格式),您会使用:

我确实喜欢这个

var datetoEnter= DateTime.ParseExact(createdDate, "dd/mm/yyyy", CultureInfo.InvariantCulture);

以下内容适合我

string strToday = DateTime.Today.ToString("MM/dd/yyyy");

您也可以通过这样做来更改格式

string fecha = DateTime.Now.ToString(format:"dd-MM-yyyy");

//这将更改
“/”
解决方案的
“-”

DateTime.Now.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture)

datetime变量在内部没有格式。“但它应该保持mm/dd/yyyy格式”然后您谈论的是字符串,您可以使用
datetime。ToSortDateString
我这样做了。现在我想将其存储为datetime变量。@aviral请参阅示例。但是在使用之前请试着理解所有的部分。你的格式是错误的。。“dd/MM/yyyy”大写字母表示不同的。。。否则,您只需将日期分为几分钟。当您只需要考虑一个格式字符串时,不需要一个<代码>格式> <代码>;还有其他的
DateTime.ParseExact
重载。
DateTime.Now.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture)