`
jayyanzhang2010
  • 浏览: 377759 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Excel 日期格式与数字格式转换的BUG

 
阅读更多

Excel 2003 中的单元格式可以有多种, 如下图:


 

其中日期/时间可以与数字进行互转, 但前提是这些日期/时间必须是Excel能识别的格式, 例如: 输入2009-12-24 , 转换为数字是:40171

输入2009-12-24 10:10:10, 转换为数字是40171., 官方说法其日期是以1900年1月1日为起始日, 时间以午夜零时为起始时间.

 


MS SQL Server 2005 的datetime类型的日期时间也是以1900年1月1日零时作为起始点, 我想, 当我们以这个数值(40171.4237268519)插入MS SQL Server 2005 字段为datetime 类型的表时, 产生的日期应该是: 2009-12-24 10:10:10 ,

 

但很可惜, 实际上得到的却是:

 


 

比预期的多出了两天!!! 为什么?

同是微软的东西, 难道算法还会不一致?

 

原来这里面有一个很隐蔽的BUG(不知道算不算BUG):

 

先在Excel的某个单元格上设置格式为日期格式, 然后输入0, 回车! 结果是1900-1-0 , 晕了原来Excel的参考起始日期并不是官方说的1900-1-1 , 而是1900-1-0 , 这样算出来的日期就比如SQL Server算出来的多出了一天!

 

再次在单元格上输入60 , 然后回车, 结果是1900-2-29 ! 微软真能搞, 1900年并不是润年(真正的判断法则是:能被4或400整除,但不能被100整除的年份为闰年), 所以这里又多出了一天!

 

所以Excel算出来的日期数值与SQL Server算出来的日期数值相差2 天!

分享到:
评论
1 楼 rzh0001 2015-10-26  
good job

相关推荐

    Excel2Json进阶版

    "Excel2Json进阶版"是一个Python工具,它专为将Excel文件转换成Json格式而设计,适用于那些需要在Excel和Json之间灵活切换的项目。这个工具不仅提供基本的转换功能,还支持Json的全格式,包括Map(字典)和数组等...

    Excel百宝箱8.0

    函数功能与参数:与“大写”函数相反,将大写字符转换为阿拉伯数字。 函数名称:分割取数 函数功能与参数:按分割符取数。第一参数为单元格,第二参数表示取第N个,第三个参数表示分割符。 函数名称:共有项 函数...

    EXCEL集成工具箱V8.0完整增强版(精简)

    【数字转英文】 将选中区域(默认)或已使用区域存储格的金额数字转换成英文格式显示的表达字符串,为三资企业制作客户外汇付款通知书的理想工具。 【文本转EXCEL】 将文本文件按指定的分隔符号分隔一次性导入到...

    xlwt-1.3.0 xlrd-2.0.1

    2. **数据提取**:xlrd允许开发者读取Excel文件中的单元格数据,包括数字、字符串、日期和时间等。它还可以解析Excel文件的样式信息,如字体、颜色、对齐方式等。 3. **工作簿和工作表操作**:通过xlrd,你可以访问...

    EXCEL百宝箱8.0终极版

    函数功能与参数:与“大写”函数相反,将大写字符转换为阿拉伯数字。 函数名称:分割取数 函数功能与参数:按分割符取数。第一参数为单元格,第二参数表示取第N个,第三个参数表示分割符。 函数名称:共有项 函数...

    Aspose.Cells for .NET 7.0.3

    4. **样式和格式设置**:可以设置单元格、字体、边框、填充、对齐方式、条件格式等样式属性,以实现与Excel高度一致的视觉效果。 5. **图片和图表处理**:除了处理单元格数据,Aspose.Cells还能处理工作表中的图像...

    phpexcel1.7.6

    - 提供了丰富的数据格式化选项,如数字格式、日期格式、货币格式等。 - 可以设置单元格样式,包括字体、边框、填充色和对齐方式等。 - 具有公式计算功能,能够处理复杂的Excel公式并返回结果。 - 支持数据过滤和排序...

    NPO I2.0.1与2.1.3.1.rar

    2. **数据类型**:NPOI支持多种数据类型,如字符串、数字、日期、布尔值等,可以方便地将数据转换为合适的单元格类型。 3. **样式和格式**:开发者可以通过NPOI设置单元格的样式,包括字体、颜色、边框、对齐方式、...

    xlwt-1,1,2

    5. 写入数据:使用工作表对象的`write()`方法,可以向指定单元格写入文本、数字或日期。 6. 设置样式:可以使用`Font`、`Pattern`、`Alignment`等类设置单元格的字体、颜色、对齐方式等样式。 7. 保存文件:最后,...

    NPOI-1.2.4-(2.0and4.0)DLL.rar_NPOI dll_NPOI.dll 2.4_npoi 2.0_npo

    NPOI 2.4作为2.0系列的一个版本,可能包含了自2.0以来的一些bug修复和改进,而4.0系列则可能引入了更多的功能,比如对新版本Excel文件格式的支持,如XLSX和XLTM等。 在使用NPOI时,你可以: 1. 创建新的Excel工作...

    Python所有的库都在这里了!!强烈建议收藏.docx

    4. xlsxwriter:创建 Excel 格式的 xlsx 文件。 5. xlwings:利用 Python 调用 Excel。 6. csvkit:CSV 文件工具包。 7. marmir:把 Python 数据结构转化为电子表格。 文档和文件处理 1. pdfminer:从 PDF 文件中...

    Aspose.Cells.dl版本 5.3.1.0

    在5.3.1.0中,可能解决了上一版本中出现的bug,并增强了对新格式或标准的支持。 7. **API易用性**:Aspose.Cells提供清晰的API接口,使得开发人员可以轻松集成到他们的项目中。开发者可以根据需求选择.NET、Java、...

    计算机应用基础3(20211011075141).pdf

    19. Excel的日期和时间类型:在Excel中,日期和时间被视为数值类型。 20. Windows XP系统:它是支持多用户多任务的操作系统。 21. 插入/改写模式切换:按[Ins]键可以在插入和改写模式间切换。 22. 退出Windows:...

    pandas教程

    从pandas 0.21.0版本开始,pandas发布了一系列更新和改进,包括与Apache Parquet文件格式的集成,优化了类型转换,增强了警告系统,并改进了创建列时的错误处理。此外,还增加了对Categorical数据类型的管理,并提升...

    poi test

    3. **数据格式化**:可以设置单元格的数据类型(如数字、日期、字符串),并通过`CellStyle`类调整字体、颜色、对齐方式等格式。 4. **读取数据**:使用`Row`对象的`getCell()`方法获取特定单元格,然后根据需要...

    罗刚君Word精灵 v3.0.rar

    13.新增“将后缀为元的数字批量大写”功能,将选区中"元"前面的所有数值转换成人民币大写形式,不以元结尾的数值会自动忽略。 14.新增“还原为小写”功能,可将大写金额还原为小写数值。 15.修改“缩放文档内的...

    计算机应用基础三.pdf

    19. **Excel数据类型**:日期和时间在Excel中被视为数字类型。 20. **Windows XP**:这是一个多用户多任务操作系统,支持同时执行多个任务。 21. **编辑模式切换**:Insert键用于在插入和改写模式间切换。 22. **...

    易语言程序免安装版下载

    修改扩展界面支持库三,解决单击卷帘菜单后导致日期框不能弹出下拉窗口的BUG。 4. 修改XP风格支持库,解决GDI资源泄露,以及在使用通用组件库六时组合框标题出现重影的BUG。 5. 修改扩展界面支持库一,解决树形框...

    PHPDBTabletoExcel:直接从数据库表行创建Excel工作表

    5. **数据格式化**:在生成Excel的过程中,我们还可以对数据进行格式化,比如设置数字格式、日期格式,甚至应用样式如粗体、颜色等。 6. **文件保存**:最后,将生成的Excel工作表保存为一个`.xlsx`文件,用户可以...

    超伦考勤机系统源代码

    考勤报表是系统的重要功能,源代码中可能会有专门的报表生成模块,使用如Excel或PDF格式进行数据导出。这涉及到了文件操作和格式转换的知识。 7. **多线程与并发处理** 高并发环境下,系统可能采用多线程技术来...

Global site tag (gtag.js) - Google Analytics