![](/img/trans.png)
[英]How to format this string so that it can be recognized by Convert.ToDateTime?
[英]Convert.ToDateTime: how to set format
我使用轉換像:
Convert.ToDateTime(value)
但我需要將轉換日期格式化為“mm / yy”。
我在尋找這樣的東西:
var format = "mm/yy";
Convert.ToDateTime(value, format)
您應該使用DateTime.ParseExact
或DateTime.TryParseExact
。 它們允許您指定特定格式。 我個人更喜歡Try
-versions,因為我認為它們可以為錯誤案例生成更好的代碼。
如果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
沒有格式。 格式僅適用於將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);
}
測試將等於“12/2012”
希望能幫助到你!
請在這里閱讀。
您可以使用Convert.ToDateTime, 如何將Datetime字符串轉換為當前的culture文化日期時間字符串
DateTimeFormatInfo usDtfi = new CultureInfo("en-US", false).DateTimeFormat;
var result = Convert.ToDateTime("12/01/2011", usDtfi)
你也可以使用它。
dtFromDate = Convert.ToDateTime(DateTime.ParseExact(fromDate, "dd/MM/yyyy", CultureInfo.InvariantCulture)
.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.