我正在我们当地教会的C#中使用日记系统,但是在存储出生日期时我遇到了数据库连接问题。根据{{3}},可能代表的入围日期是1月1日1.我应该如何记录耶稣基督的出生日期和早期重要的人物?
答案 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)
http://msdn.microsoft.com/en-us/library/system.globalization.gregoriancalendar.getera(v=VS.100).aspx
答案 3 :(得分:0)
简单回答 - 将日,月和年存储为单独的数字字段。日期和月份可以合并为一年中的日期值,但您需要注意闰年。
备选答案 - 有一些标准方法可以将日期转换为日期数字并返回...
http://en.wikipedia.org/wiki/Julian_day
如果您自己进行转换,则基本上存储一个数字(恰好代表一个日期),因此您应该没有问题。好吧 - 除了确保您的转换是正确的。