【发布时间】:2013-03-04 14:13:45
【问题描述】:
我像这样使用转换:
Convert.ToDateTime(value)
但我需要将日期转换为“mm/yy”等格式。
我正在寻找这样的东西:
var format = "mm/yy";
Convert.ToDateTime(value, format)
【问题讨论】:
-
DateTime对象没有定义格式。您可以以某种格式输出 DataTime,这是您的意思吗?
我像这样使用转换:
Convert.ToDateTime(value)
但我需要将日期转换为“mm/yy”等格式。
我正在寻找这样的东西:
var format = "mm/yy";
Convert.ToDateTime(value, format)
【问题讨论】:
DateTime 对象没有定义格式。您可以以某种格式输出 DataTime,这是您的意思吗?
您可能应该改用DateTime.ParseExact 或DateTime.TryParseExact。它们允许您指定特定的格式。我个人更喜欢Try-versions,因为我认为它们为错误情况生成了更好的代码。
【讨论】:
mm 是分钟,MM 是年。
MM 是月
如果value 是该格式的string,并且您想将其转换为DateTime 对象,则可以使用DateTime.ParseExact 静态方法:
DateTime.ParseExact(value, format, CultureInfo.CurrentCulture);
例子:
string value = "12/12";
var myDate = DateTime.ParseExact(value, "MM/yy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
Console.WriteLine(myDate.ToShortDateString());
结果:
2012-12-01
【讨论】:
DateTime.ParseExact(value, "mm/yy", CultureInfo.CurrentCulture); 应该可以工作。
您可以使用 Convert.ToDateTime 是否显示在 How to convert a Datetime string to a current culture datetime string
DateTimeFormatInfo usDtfi = new CultureInfo("en-US", false).DateTimeFormat;
var result = Convert.ToDateTime("12/01/2011", usDtfi)
【讨论】:
DateTime 没有格式。该格式仅在您将 DateTime 转换为字符串时适用,这会隐含地在表单、网页等上显示值。
查看在哪里显示 DateTime 并在那里设置格式(或者如果您需要其他指导,请修改您的问题)。
【讨论】:
这个怎么样:
string test = "01-12-12";
try{
DateTime dateTime = DateTime.Parse(test);
test = dateTime.ToString("dd/yyyy");
}
catch (FormatException exc)
{
MessageBox.Show(exc.Message);
}
其中 test 将等于“12/2012”
希望对你有帮助!
请阅读HERE。
【讨论】: