【发布时间】:2018-11-29 03:30:02
【问题描述】:
我正在开发一个需要保存出生日期的 Web API。当我保存日期 02-05-1929 时,我遇到了一个奇怪的行为。但它在 oracle db 中被保存为 02-05-2029。我意识到它发生在 1950 年之前的所有日期。谁能帮我理解它为什么会发生
【问题讨论】:
-
看看stackoverflow.com/questions/12605864/…>应该有帮助!
-
这个链接中的解释:如果指定的两位年份是00到49,那么如果当前年份的最后两位是00到49,那么返回的年份是一样的两位数作为当前年份。根据这个解释,1929 正确地保存为 2029。但我只需要保存 1929。怎么办?
-
@AshwiniKumar 我认为您需要检查所有代码以确保您始终使用 DateTime 类型,如果不是,则确保表示始终具有完整的 4 位数年份。
-
您保存的是“02-05-1929”还是“02-05-29”?另外,您发送给 Oracle 的数据类型是什么,是字符串还是日期时间?
-
@Karlsen:我正在保存“02-05-1929”,变量的数据类型是 DateTime
标签: c# oracle asp.net-web-api oracle11g