在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
由于
大卫
答案 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)
尝试使用TryParseExact
。
http://msdn.microsoft.com/en-us/library/system.datetime.tryparseexact.aspx
答案 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上设置的文化,在数据库字段更新时输入块。
再见