我正在创建一个简单的输入表单来创建一个帐户。表单上有一个公司成立年份的输入字段,这是一个简单的文本框,用户可以在其中输入年份,即 2005 年。
但是,尽管将文本框条目转换为日期时间,但在尝试将其插入日期时间的数据库字段时,仍会抛出错误...
myCompanyAccount.Founded = Convert.ToDateTime(this.TxtCompanyFounded.Text);
有没有一种方法可以将年份输入(即 2005 年)转换为日期时间,以便将其插入数据库...?提前致谢!
最佳答案
它的发生只是因为 2005
不是标准的日期和时间格式,这就是原因 Convert.ToDateTime
会失败。
您可以使用 DateTime.TryParseExact
或 DateTime.ParseExact
方法来解析您的自定义日期和时间,例如;
string s = "2005";
DateTime dt;
if(DateTime.TryParseExact(s, "yyyy", CultureInfo.InvariantCulture,
DateTimeStyles.None, out dt))
{
Console.WriteLine(dt);
}
dt
将是 01/01/2005 00:00:00
(当然,它的表示取决于您当前在 .ToString()
方法中的文化)
这里是一个 demonstration
.
关于c# - 将年份字符串(即 '2005')转换为日期时间值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23470508/