gpt4 book ai didi

c# - 如何将 C# 中的 DateTime.now 转换为 yyyy-mm-dd hh :mm:ss. sssssss?

转载 作者:太空狗 更新时间:2023-10-29 18:03:31 25 4
gpt4 key购买 nike

我使用存储过程将日期时间戳存储在我的数据库中,使用一个名为 sysdatetime() 的函数和一种 varchar(max) 存储在此格式的数据库 yyyy-mm-dd hh:mm:ss.sssssss。当我创建一个新的帖子时它很好,但是当我试图更新记录时,我必须将一个参数发送到具有当前 datetime 的存储过程。这个我试过了

DateTime.Now.ToString(yyyy-mm-dd hh:mm:ss.sssssss)

但是我收到一个错误。我必须做什么?

P.s: 错误信息见下图

enter image description here

最佳答案

我怀疑如果你真的需要字符串表示,你实际上想要:

string text = DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss.fffffff", 
CultureInfo.InvariantCulture)

注意:

  • 除非您真的想要本地时间,否则请使用UtcNow 而不是Now。对于时间戳,您几乎总是需要 UTC。
  • 我怀疑您想使用当前文化的时间分隔符,因此指定了 CultureInfo.InvariantCulture
  • “MM”表示月而“mm”表示分钟
  • “HH”表示 24 小时制,而“hh”表示 12 小时制
  • “ff...”用于几分之一秒

参见 MSDN有关自定义日期和时间格式的更多详细信息。

但是,我强烈建议您尽可能避免字符串转换。为什么您的存储过程不能只使用相关的 DateTime 类型而不是字符串表示形式?然后您可以将该值作为DateTime(通过命令参数)传递给存储过程,这样您就可以摆脱容易出错的字符串转换困惑。

关于c# - 如何将 C# 中的 DateTime.now 转换为 yyyy-mm-dd hh :mm:ss. sssssss?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10348952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com