c# - DateTime 可以代表基督之前/我们的时间之前的日期吗?或者这是如何管理的?
问题描述
所以,我注意到DateTime.MinValue
默认为01-01-0001 (dd-MM-yyyy)
,例如,假设我们有一个博物馆数据库/类对象,您如何存储来自公元前 10,000 年的对象或来自今天前数百万年的恐龙骨骼?
它可以是一个有符号的值吗?比如,年份“-10000”代表公元前?或者我们需要依赖字符串并且无法在本地使用第一年之前的日期?
我检查了这个要求零年的问题,但它没有任何有用的见解,除了显然不是每个人都知道没有零年这样的东西。如何使用python在第0年制作一个日期时间对象
解决方案
不,DateTime
在 1CE 之前不处理任何事情。
我的Noda Time项目确实支持 BCE 日期,但仍然限于它可以处理的最早的 9998 BCE。
一旦您谈论史前时代,无论如何您可能有一组与正常日期/时间类型不同的用例 - 所以仅仅扩展现有类型的范围可能对您没有多大帮助。(例如,古代历史经常处理相对日期:“我知道战斗 X 发生在 Y 国王统治 3 年后,但我不知道其中任何一个发生的确切时间。”)我建议你想想你的实际用例是什么,以及你需要对日期/时间信息做什么。然后您可以查看现有库是否满足您的需求,或者您是否需要编写自己的抽象。
推荐阅读
- eclipse - Maven构建时出现访问限制错误
- javascript - 如何使用按钮将 pdf 文件从数据库显示到 iframe 中?
- android - 带图标的 MaterialButton 不居中文本
- traefik - 基本 Traefik 配置问题
- python - 有没有一种可靠的方法来列出一个类的所有 __slots__?
- http - Boost Beast websocket 服务器异步接受失败,缓冲区溢出
- javascript - 模拟键盘事件在 Vuejs 中的 textarea 上不起作用
- java - MapStruct 不复制子类属性
- django - 预取对象的 3 级层次结构
- javascript - $.ajax 方法被 CORS 策略阻止