- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在过去的项目中,我尝试将时间格式保存为公历日期并在应用程序的逻辑层将公历日期转换为波斯日期,但我厌倦了这样做。
我需要在sql server中以波斯语格式保存和恢复日期时间,无需任何转换
sql server中的datetime2类型可以存储波斯日期时间吗?
如果没有,存储波斯日期时间的最佳方式是什么?
最佳答案
datetime2
SQL Server 中使用公历。
如果您想使用基于波斯历的日期,那么您要么需要创建并使用一些可以在 SQL 代码中调用的函数来为您进行转换,要么需要创建 User Defined Type可以存储数据。
这是一个example一些可以在波斯语和公历之间转换的函数。我还没有尝试过它们,所以我不知道它们是否有效,或者它们的质量。
我找不到为波斯日期创建 UDT 的示例,但这是 documentation对于一般的 UDT。
就个人而言,我会将 SQL Server 中的日期存储为 UTC 公历 datetime2
。我要么在应用程序数据层中有转换代码,以便在保存到 SQL Server 或从 SQL Server 加载时进行转换,要么在 DateTime
显示到 SQL Server 或从 SQL Server 检索时进行转换。用户。
UTC 是世界的日期和时间标准,特别是对于科学和工程而言,因此 SQL Server 和 .Net 都是使用它构建的。使用 UTC 也是有意义的,这样您就可以从现有的 SQL Server 和 .Net 代码中获得最大的好处。当然,您的用户仍然希望能够使用波斯日历写入和读取 DateTime
,因此对我来说,您在向用户显示日期时间之前执行该转换是有意义的,或者在用户提供后立即。
关于.net - 如何在 SQL Server 中保存波斯日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43180173/
我是一名优秀的程序员,十分优秀!