[英]Parse DateTime from Dropdown Selected Value
我從下拉列表中獲取日期。 weekStartDate中即將出現的日期格式為2014年12月5日12:00:00 。 我希望它成為2014/05/12 12:00:00 AM
DateTime weekStartDate = Convert.ToDateTime(DrpDwnGetPayPeriod.SelectedValue);
下拉菜單的值為2014年5月5日,2014年5月12日。 當我嘗試解析它時,由於未將String識別為有效的DateTime,我得到了錯誤。 我嘗試了以下操作:
DateTime weekStartDate = DateTime.ParseExact(DrpDwnGetPayPeriod.SelectedValue, "yyyy-MM-dd", CultureInfo.InvariantCulture);
您的問題尚不清楚。 但是我假設您想知道“如何將某種格式的字符串轉換為DateTime對象?” 如果這不是您的問題,請澄清並意識到您需要在開始時就使您的問題更清楚。
學習使用DateTime.ParseExact 。 並使用格式字符串 。 那給了我們...
DateTime weekStartDate = DateTime.ParseExact(DrpDwnGetPayPeriod.SelectedValue, "yyyy-MM-dd hh:mm:ss tt", System.Globalization.CultureInfo.CurrentCulture);
注意,您可能要使用DateTime.TryParseExact
。 這樣您就可以處理與指定格式不匹配的值。
使用標准格式"G"
:
weekStartDate.ToString("G"); //G: 12/5/2014 12:00:00 AM
http://msdn.microsoft.com/en-us/library/zdtaw1bw(v=vs.110).aspx
下拉菜單的值為2014年5月5日,2014年5月12日。 當我嘗試解析它時,由於未將String識別為有效的DateTime而出現錯誤
所以這些是DropDownList
中的條目:
05 May 2014
12 May 2014
21 Apr 2014
並且您想將其解析為真實的DateTime
。
然后,您可以使用DateTime.ParseExact
:
// presuming "21 Apr 2014" is DrpDwnGetPayPeriod.SelectedValue
DateTime weekStartDate = DateTime.ParseExact("21 Apr 2014", "dd MMM yyyy", CultureInfo.InvariantCulture);
由於您使用三個字母的縮寫表示月份名稱,因此需要使用MMM
。
MSDN: 自定義日期和時間格式字符串
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.