簡體   English   中英

從下拉菜單中選擇日期時間

[英]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.Today.ToString("YY/MM/DD HH:MM:SS TT")

您的問題尚不清楚。 但是我假設您想知道“如何將某種格式的字符串轉換為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

您是否只是想更改weekStartDate的格式? 您只需要按照以下方式進行操作:

weekStartDate.ToString("yyyy/MM/dd hh:mm tt");

這是一個例子

下拉菜單的值為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM