2010-05-21 65 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; 
}