2010-08-30 40 views
2

我與格式MM/DD/YYYY查詢字符串字符串轉換爲日期(DD/MM/YYYYY)格式在C#

我使用它在C#一樣

DateTime d = Request.QueryString["dateTime"].toString(); 

它給我很多錯誤說日期時間格式無法識別。如果我手動將瀏覽器地址欄(查詢字符串)中的日期時間更改爲dd/mm/yyyy,那麼該程序可以正常工作。

我不能改變查詢字符串,有沒有辦法在C#中從瀏覽器中獲取它,然後轉換成日期,如dd/mm/yyyy好嗎?

編輯: 查詢字符串:

http://localhost:49543/HM/Admin/ViewDetails.aspx?OrderNo=10&DateCreated=08/30/2010 

,所以你可以看到dateCreated會部分是MM/DD/YYYY格式。 我不能從c#抓住它。如果我手動更改到30/08/2010,它的工作原理

+0

給你需要匹配一個例子查詢字符串。 – 2010-08-30 13:04:09

+1

Request.QueryString [「dateTime」]已經是一個字符串。無需使用ToString()方法。 – Zafer 2010-08-30 13:05:22

+0

DateTime變量沒有格式,只包含日期。只有當你將它轉換爲/從一個字符串,你需要一個格式。 – 2010-08-30 16:02:46

回答

5

如何把字符串從請求到DateTime

DateTime d = DateTime.ParseExact(Request.QueryString["dateTime"], "dd/MM/yyyy", null); 
+0

第一個,我試過了,它說iFormatProvider to String不能手動完成。它在這條線上拋出2個錯誤! (並且我想要第一種情況 - 對不起,如果我的問題很混亂!) – locusthorde 2010-08-30 13:18:54

+0

@locusthorde:好的,抱歉發佈而不嘗試它。我改變了一些對我有用的答案。 (如果在這個dd/MM/yyyy格式中輸入字符串不是*精確*,它仍然會拋出異常。您可能想要捕獲此異常並進行適當處理。) – Timwi 2010-08-30 13:39:04

7
DateTime d = DateTime.ParseExact(Request.QueryString["dateTime"], "dd/MM/yyyy", CultureInfo.InvariantCulture); 
+0

其仍然說串不被識別爲有效格式! – locusthorde 2010-08-30 13:06:24

+0

我不認爲他意味着這是如何格式化字符串,而是他想要創建的。他需要發佈示例QS。 – 2010-08-30 13:07:31

+0

嗨,這是真正的QS:http:// localhost:49543/HM/Admin/ViewDetails.aspx?OrderNo = 10&DateCreated = 08/30/2010 – locusthorde 2010-08-30 13:11:20

2

DateTime.ParseExact是您尋求的解決方案。 不過我建議你用一個函數來驗證查詢字符串數據如下:

bool isValidDate(string dtStr) { 
    string pattern = @"^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[2][0]\d{2})$)"; 
    System.Text.RegularExpressions.Regex re = new System.Text.RegularExpressions.Regex(pattern); 
    return re.IsMatch(dtStr); 
} 

編輯1:除了ParseExact,您可以使用以下命令:

DateTime.Parse(dateString, new System.Globalization.CultureInfo("tr-TR")) 

土耳其的日期時間格式爲DD/MM/YYYY。

0

您可以使用:DateTime.Now.ToString("dd/MM/yyyy");

0

試試這個它應該工作

DateTime d = 
      DateTime.ParseExact(Request.QueryString["dateTime"], 
      "dd'/'MM'/'yyyy",  
      CultureInfo.InvariantCulture); 

我面臨着類似的東西:DateTime Format in C#

相關問題