我使用存储过程在我的数据库中存储日期时间戳,使用一个被调用的函数sysdatetime(),其类型varchar(max)以这种格式存储在数据库中yyyy-mm-dd hh:mm:ss.sssssss.当我正在创建一个新帖子时它很好,但是当我尝试更新记录时,我必须使用当前的参数将参数发送到存储过程datetime.我试过这个
DateTime.Now.ToString(yyyy-mm-dd hh:mm:ss.sssssss)
Run Code Online (Sandbox Code Playgroud)
但我收到了一个错误.我该怎么办?
Ps:请参阅下面的图片并显示错误消息

Jon*_*eet 22
我怀疑你是否真的需要字符串表示,你真的想要:
string text = DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss.fffffff",
CultureInfo.InvariantCulture)
Run Code Online (Sandbox Code Playgroud)
注意:
UtcNow的替代Now.对于时间戳,您几乎总是想要UTC.CultureInfo.InvariantCulture有关自定义日期和时间格式的详细信息,请参阅MSDN.
但是,我强烈建议您尽可能避免字符串转换.为什么您的存储过程不能只使用相关DateTime类型而不是字符串表示?然后您可以将值传递给存储过程作为一个DateTime(通过命令参数),你可以摆脱容易出错的字符串转换的混乱的.
使用此代码:
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fffffff")
Run Code Online (Sandbox Code Playgroud)
请参阅此ref:http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx