查看MSDN上的MonthCalendar.MinDate的说明,发现属性默认值为01/01/1753,很是不解——为什么最小日期是1753年1月1日,找了许多文档都没有找到合理解释,恰好今天看到ms monthcal的部分代码,里面的一段代码注释恰好就说明了这个问题。
    以下就是这段代码,里面定义并解释了两个名词,新纪元(Epoch):宇宙的最开始(这真是个恐怖的词句!,好在还有个附注——这个就是MS支持的最早日期啦);世界末日(Armageddon):圣经解释是“哈米吉多顿,世界末日善恶决战的战场”,说它是宇宙末日貌似没有问题的咯。然后就道出了两个概念的值,这里Epoch就是1752年9月14日,原因是英美历史上1572年9月14日的前一天是1572年9月2日,而Armageddon就是4位记年的最大值(9999年12月31日),看看这里,这位大哥还挺逗,居然考虑到了10k年的问题,)。

 1//
 2//  Epoch = the beginning of the universe (the earliest date we support)
 3//  Armageddon = the end of the universe (the latest date we support)
 4//
 5//  Epoch is 14-sep-1752 because that's when the Gregorian calendar
 6//  kicked in.  The day before 14-sep-1752 was 2-sep-1752 (in British
 7//  and US history; other countries switched at other times).
 8//
 9//  Armageddon is 31-dec-9999 because we assume four digits for years
10//  is enough.  (Oh no, the Y10K problem)
11//
12const SYSTEMTIME c_stEpoch      = { 1752,  9, 0, 14,  0,  0,  0,   0 };
13const SYSTEMTIME c_stArmageddon = { 9999, 12, 0, 31, 23, 59, 59, 999 };

转载于:https://www.cnblogs.com/winkingzhang/archive/2008/01/13/1037088.html

Why the MonthCalendar.MinDate is 01/01/1753?相关推荐

  1. 【330天】跃迁之路——程序员高效学习方法论探索系列(实验阶段88-2018.01.01)...

    实验说明 从2017.10.6起,开启这个系列,目标只有一个:通过探索新的学习方法,用2年的时间,实现2.5倍速的成长,获得普通程序员>= 5年的技术水平. 实验期2年(2017.10.06 - ...

  2. 面试题 01.01. 判定字符是否唯一 (计数排序思想)

    面试题 01.01. 判定字符是否唯一 题意:输入一个字符串(ASCII),判断该字符串中是否有重复的字符 解法1:遍历字符串,将每一个字符转为ASCII码映射到一个数组对应的下标,记录字符出现的次数 ...

  3. DAVINCI DM365-DM368开发攻略—U-boot-2010.12-rc2-psp03.01.01.39及UBL的移植 .

    转载:http://blog.csdn.net/olei_oleitao/article/details/7919307 一.DM36X的BOOT过程介绍 DM36x的BOOT过程和DM6446.DM ...

  4. DAVINCI DM365-DM368开发攻略—U-boot-2010.12-rc2-psp03.01.01.39及UBL的移植

    从盛夏走到深秋,我们继续DAVINCI DM365-DM368的开发.说来惭愧,人家51CTO热情支持本博客,而本人却一直没有像其他博客之星一样频繁更新博客,心里确实说不过去.管理公司确实很累,有更急 ...

  5. java中正则表达式校验日期,1999-01-01 ,1991\01\01,-分割和\分割两种形式

    今天写代码,我需要校验日期格式,传入的日期是1991\01\01这种类型的. 我百度出来的是1999-01-01 形式的: ^\d{4}-\d{1,2}-\d{1,2} 本来我想着-换成\就行了,这样 ...

  6. (二)u-boot2013.01.01 for TQ210:《Makefile分析》

           当时写的时候看的是2012-10版本的,但是略对比了一遍和2013.01.01没什么改动,所以这不影响对2013.01.01版本的makefile的理解.本文比较侧重于语法句意的分析,框 ...

  7. C#学习笔记 01.01

    C#学习笔记 01.01 (学习视频来自bilibili的传智播客赵老师基础教学视频) 服务器与客户端的区别 服务器其实本质上还是一个电脑,只是加装了很多的硬盘,从而实现对数据的大规模存储. 而客户端 ...

  8. 【EMC电磁兼容】01.01——缘由及认证

    [EMC电磁兼容]01.01 缘由 EMC认证要求 缘由 提出电磁兼容最初是为了保护广播.电视等无线电通信业务的正常工作. 对于现在而言,要求设备如何设计可以达到电磁兼容,既不会影响到其他设备(EMI ...

  9. (一)u-boot2013.01.01 for TQ210:《Uboot简介》

    一直想写一个s5pv210硬件平台的u-boot的移植文档,但一直都忙着没时间写.先写一些u-boot的脚本分析吧,包括makefile,mkconfig,config.mk,主要侧重于语法句意的分析 ...

  10. u-boot2013.01.01 for s5pv210: u-boot启动流程

    转载请注明地址:http://blog.csdn.net/zsy2020314/article/details/9824035 1.关于启动流程 1.1 启动阶段分为3个,bl0,bl1,bl2.下面 ...

最新文章

  1. 华为×××+IPSEC实现安全连接
  2. 【C/C++13】天气APP:数据挖掘/HTTP协议/非结构化数据存储(filetoblob.cpp),数据管理/监控告警(hsmtable.cpp,tbspaceinfo.cpp)
  3. 1290. 二进制链表转整数
  4. Stanford NLP 第六课: Long Short Term Memory
  5. 编写高质量的VB代码
  6. java的三大特征:封装,继承和多态
  7. 海马苹果助手ipad版_苹果IPA文件签名,软件掉签问题,自己也能轻松解决
  8. ⊱如果事与愿违,请相信一定另有安排
  9. 读《人脑连接组研究:脑结构网络和脑功能网络》
  10. 【MicroPython ESP32】ssd1306驱动0.96“I2C屏幕+mpu6050图形控制
  11. 【空间描述与位姿变换】(台大林沛群课程学习笔记)持续更新~
  12. 哈尔滨工程大学-济海追风-声音信标
  13. 网站分析高级细分六脉神剑之第五脉
  14. SWUST OJ 617: 班级课程成绩计算
  15. 虚拟机与主机之间不能复制粘贴问题
  16. 小程序直播房间列表读取php,微信小程序直播管理 - 实时同步微信管理后台的直播数据,本地储存与管理直播信息 – 基于ThinkPHP和Bootstrap的极速后台开发框架...
  17. [转载]面向 Java 开发人员的 db4o 指南: 超越简单对象
  18. 体检导检排队系统智能导检
  19. Eclipse如何设置自动提示?
  20. Linux操作系统学习笔记(二十八)深入理解CPU

热门文章

  1. 云服务器入门篇:搭建云服务器Java web环境(Ubuntu Server 16.04.1 LTS 64位)
  2. GIF 格式图片的存储和压缩 Node.js实现
  3. CNN | 00卷积神经网络应用
  4. reflections歌词翻译_花木兰主题曲Reflection翻译成中文的准确歌词
  5. Linux tc QOS 详解
  6. 销售业务处理流程之 分期收款
  7. RepVGG:算法简介及repvgg.py代码解析
  8. 计算机网络——模拟信号(四)
  9. 物联网关键技术:时序数据库
  10. 无线AP人员定位实现调研以及方案编写