代表出生日期

时间:2010-11-28 21:07:58

标签: .net database date c#-3.0 record

我正在我们当地教会的C#中使用日记系统,但是在存储出生日期时我遇到了数据库连接问题。根据{{​​3}},可能代表的入围日期是1月1日1.我应该如何记录耶稣基督的出生日期和早期重要的人物?

4 个答案:

答案 0 :(得分:1)

如果需要,您将不得不滚动自己的类来处理.NET中的BC日期,并将它们作为字符串存储在数据库中,或者作为年,月日的单独字段存储(取决于所需的准确度)搜索和排序将在数据库端执行(我假设你会这样做)。

SQL Server对日期的支持比.NET更具限制性(它只能追溯到1753年或1752年左右)。

This blog post是一种可能的实施方式,虽然它只是非常有限,因为它只存储年份。但我相信你可以根据需要修改它。例如,它可能很好地实现一些接口,如IComparable,IEquatable,IFormattable以及可能的IConvertible,如果你热衷于它可以更好地与框架的其余部分进行交互。

答案 1 :(得分:1)

如果您可以自由决定日历的类型,那么我建议您继续使用公历,其中包含

  

识别两个时代的能力:B.C。   和A.D。

http://msdn.microsoft.com/en-us/library/system.globalization.gregoriancalendar.aspx

答案 2 :(得分:1)

答案 3 :(得分:0)

简单回答 - 将日,月和年存储为单独的数字字段。日期和月份可以合并为一年中的日期值,但您需要注意闰年。

备选答案 - 有一些标准方法可以将日期转换为日期数字并返回...

http://en.wikipedia.org/wiki/Julian_day

如果您自己进行转换,则基本上存储一个数字(恰好代表一个日期),因此您应该没有问题。好吧 - 除了确保您的转换是正确的。