And*_*ick 3 c# asp.net datetime valueconverter
我正在创建一个简单的输入表单来创建一个帐户.在表单上有一个公司成立年份的输入字段,这是一个简单的文本框,用户将输入年份,即2005年.
但是,在尝试将此插入到数据库字段(即datetime)时,尽管将文本框条目转换为datetime,但仍会引发错误...
myCompanyAccount.Founded = Convert.ToDateTime(this.TxtCompanyFounded.Text);
Run Code Online (Sandbox Code Playgroud)
有没有办法可以将一年的输入(即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);
}
Run Code Online (Sandbox Code Playgroud)
dt将是01/01/2005 00:00:00(当然,它的代表取决于您当前的.ToString()方法文化)
这里一个demonstration.
您应该创建一个新的DateTime,只需输入默认的天/月,如果您不需要它们,例如:
MyCompany.Founded = new DateTime(Convert.ToInt32(this.TxtCompanyFounded.Text), 1, 1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5135 次 |
| 最近记录: |