首页 > 解决方案 > DateTime 可以代表基督之前/我们的时间之前的日期吗?或者这是如何管理的?

问题描述

所以,我注意到DateTime.MinValue默认为01-01-0001 (dd-MM-yyyy),例如,假设我们有一个博物馆数据库/类对象,您如何存储来自公元前 10,000 年的对象或来自今天前数百万年的恐龙骨骼?

它可以是一个有符号的值吗?比如,年份“-10000”代表公元前?或者我们需要依赖字符串并且无法在本地使用第一年之前的日期?

我检查了这个要求零年的问题,但它没有任何有用的见解,除了显然不是每个人都知道没有零年这样的东西。如何使用python在第0年制作一个日期时间对象

标签: c#datetimemin

解决方案


不,DateTime在 1CE 之前不处理任何事情。

我的Noda Time项目确实支持 BCE 日期,但仍然限于它可以处理的最早的 9998 BCE。

一旦您谈论史前时代,无论如何您可能有一组与正常日期/时间类型不同的用例 - 所以仅仅扩展现有类型的范围可能对您没有多大帮助。(例如,古代历史经常处理相对日期:“我知道战斗 X 发生在 Y 国王统治 3 年后,但我不知道其中任何一个发生的确切时间。”)我建议你想想你的实际用例是什么,以及你需要对日期/时间信息做什么。然后您可以查看现有库是否满足您的需求,或者您是否需要编写自己的抽象。


推荐阅读