C# 将字符串格式转换为日期时间(mm/dd/yyyy)
我必须将mm/dd/yyyy格式的字符串转换为datetime变量,但它应该保持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
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)