2010-05-21 71 views
3

我有一個日期選擇器,顯示日期格式DD/MM/YYYY(我知道我coould改變有本身,而是由客戶想用那種方式)和數據庫其格式MM/DD/YYYY,所以我想要以這種方式進行轉換。改變日期格式

例如在文本框中23/09/2010並在C急轉換爲mm/dd/yyyy(txtbo1.text)

Registers Indranil。

回答

10

如果你真的存儲日期在一個數據庫中的字符串,可以將字符串格式轉換以下列方式:

DateTime.ParseExact(dateTimeString, "dd/MM/yyyy", null).ToString("MM/dd/yyyy") 
+0

可以這樣做@大衛1M溶液更好。解析可以按我所說的完成,但不需要DateTime作爲不同的字符串(您不需要執行ToString())。 – brickner 2010-05-21 13:15:05

+0

該怎麼辦? – piku 2010-05-21 13:16:28

+0

DateTime dateTime = DateTime.ParseExact(dateTimeString,「dd/MM/yyyy」,null); 現在,你需要採取的日期時間,並把它作爲SQL命令的參數。如果你想直接寫入SQL字符串,你可能還需要做dateTime.ToString(「MM/dd/yyyy」); – brickner 2010-05-21 13:28:10

8

如果你是存儲在數據庫中的日期,你應該將它們存儲在具有適當數據類型的字段。格式不應該進入它。你應該把你的dd/MM/yyyy文本解析成一個DateTime變量,並且將它傳遞給一個日期/時間類型的參數給你的數據庫。

+0

該怎麼辦? – piku 2010-05-21 12:57:22

0

使用正則表達式:

public static String DMYToMDY(String input) 
    { 
     return Regex.Replace(input, 
     @"\b(?<day>\d{1,2})/(?<month>\d{1,2})/(?<year>\d{2,4})\b", 
     "${month}/${day}/${year}"); 
    } 
1
using System.Globalization; 

string dt = DateTime.Parse(txtDate.Text.Trim()).ToString("MM/dd/yyyy", CultureInfo.InvariantCulture); 

也可以用這個

public string FormatPostingDate(string str) 
{ 
    if (str != null && str != string.Empty) 
    { 
     DateTime postingDate = Convert.ToDateTime(str); 
     return string.Format("{0:MM/dd/yyyy}", postingDate); 
    } 
    return string.Empty; 
}