DateTime.TryParse字符串格式错误

时间:2011-07-08 18:02:11

标签: c# sql-server parsing datetime

在C#中我试图在一个字符串字段上做一个DateTime.TryParse,我从DataFeed得到它,我知道它是“MM / dd / YYYY”格式。 e.g。

DateTime dt = DateTime.TryParse("01/30/11");

现在只有“dt”格式不正确,无法存储到我的数据库中,该数据库的日期时间区域设置为“dd / MM / YYYY”。

如何将字符串字段正确解析为dt然后再解析到我的数据库?处理这个问题的最佳方法是什么?如果我将CurrentThread的全球化设置为en-US,那么dt将采用en-US格式,但是当插入数据库时​​,它仍然存储不正确? :S

由于

大卫

3 个答案:

答案 0 :(得分:2)

使用DateTime.ParseExact方法:

DateTime dt = DateTime.ParseExact("15/12/2011", "dd/MM/yyyy", CultureInfo.InvariantCulture);

如果要将DateTime值转换回字符串,请使用以下代码:

string dtString = string.Format("{0: dd/MM/yyyy}", dt);

答案 1 :(得分:1)

答案 2 :(得分:0)

我希望您理解,TryParse由if语句创建,请参阅以下示例

  private void button1_Click_1(object sender, EventArgs e)
    {

        DateTime myData = new DateTime();

        if (DateTime.TryParse(this.textBox1.Text,out myData))
        {
            // your filed db = myData
        }
    }

然后根据PC上设置的文化,在数据库字段更新时输入块。

再见