如何在Excel中表示date时间

在Excel中表示DateTime的最佳方式是什么? 我们使用Syncfusions Essential XlsIO将值输出到Excel文档,效果很好。 但我不知道如何在列中显示DateTime时间。 不要直接在Excel中自己做。 这是不可能的吗? 我必须使用单独的date和时间列吗? 我真的希望我没有,因为这样的sorting等等,除非Excel有一些聪明的事情来解决这个问题…

Excel中date时间的基础数据types是一个64位浮点数,其中一天的长度等于1,1900年1月1日00:00等于1.因此,2009年6月11日17:30约为39975.72917。

如果一个单元格包含这样的数字值,则只需将date时间格式应用于单元格,即可将其转换为date时间。

因此,如果您可以使用上述公式将date时间转换为数字,请将其输出到相关单元格,然后将单元格格式设置为适当的date时间格式,例如yyyy-mm-dd hh:mm:ss,那么应该可以达到你想要的。

Stefan de Bruijn也指出,Excel中存在一个错误,它错误地假定1900年是一个闰年,所以在进行计算( 维基百科 )时需要考虑到这一点。

如果像我一样在格式对话框中找不到date或时间的date时间,则应该可以在“自定义”中find它。

我只是从'自定义'中select'dd / mm / yyyy hh:mm',并对结果感到满意。

您可以执行以下操作:

=Datevalue(text)+timevalue(text)

进入不同types的date格式并select:

dd-mm-yyyy mm:ss am/pm

某些版本的Excel在标准select列表中没有可用的date时间格式,但您可以通过以下方式input自定义格式string,如yyyy-mm-dd hh:mm:ss。

  1. 右键单击 – >格式单元格
  2. 数字选项卡
  3. select类别自定义
  4. 在“types”字段中input您的自定义格式string

这适用于我的Excel 2010

Excel可以以类似于DateTime的方式显示datetypes。 右键单击受影响的单元格,select“ 格式化单元格” ,然后在“ 类别”下select“ date” ,然后在“ types”下select类似下面的types

 3/14/01 1:30 PM 

这应该做你所要求的。 我testing了这种格式的一些示例数据sorting,它似乎工作正常。

dd-mm-yyyy hh:mm:ss.000通用sorting的date/时间模式

Excel需要将date和时间存储为浮点数,其值取决于工作簿的Date1904设置,以及诸如“mm / dd / yyyy”或“hh:mm:ss”或“mm / dd”之类的数字格式/ yyyy hh:mm:ss“,这样数字就以date/时间显示给用户。

使用SpreadsheetGear for .NET,你可以这样做:worksheet.Cells [“A1”]。Value = DateTime.Now;

这将将date时间转换为双精度,这是Excel用于date/时间的基础types,然后根据值自动使用默认date和/或时间数字格式格式化单元格。

SpreadsheetGear还具有从.NET DateTime对象转换为Excel可以使用的double的IWorkbook.DateTimeToNumber(DateTime)和NumberToDateTime(double)方法。

我希望XlsIO有类似的东西。

免责声明:我自己的SpreadsheetGear LLC

您可以使用以下选项之一将date时间值设置为XlsIO中的单元格

 sheet.Range["A1"].Value2 = DateTime.Now; sheet.Range["A1"].NumberFormat = "dd/mm/yyyy"; sheet.Range["A2"].DateTime = DateTime.Now; sheet.Range["A2"].NumberFormat = "[$-409]d-mmm-yy;@"; 

你可以在这里find更多的信息。