Python XlsxWriter – 日期和时间
在Excel中,日期被存储为实数,这样它们就可以被用于计算。默认情况下,1900年1月1日(称为纪元)被处理为1,因此2022年1月28日对应的是44589。同样地,时间被表示为数字的小数部分,作为一天的百分比。因此,2022年1月28日11.00对应于44589.45833。
set_num_format()方法
由于日期或时间在Excel中就像其他数字一样,为了将数字显示为日期,你必须对其应用Excel数字格式。使用 Format 对象的 set_num_format() 方法,使用适当的格式化。
下面的代码片段以 “日/月/年 “格式显示一个数字。
num_format参数
另外, add_format() 方法的 num_format 参数可以被设置为所需的格式。
例子
下面的代码显示了各种日期格式的数字。
write_datetime() 和 strptime()
XlsxWriter的工作表对象也有 write_datetime() 方法,在处理用Python标准库的datetime模块获得的日期和时间对象时非常有用。
strptime() 方法从一个根据给定格式解析的字符串中返回 日期时间 对象。下面给出了一些用于格式化字符串的代码。
%a | 缩略的工作日名称 | 星期日,星期一 |
---|---|---|
%A | 完整的工作日名称 | 星期日,星期一 |
%d | 以零填充的小数形式表示的月份的日期 | 01, 02 |
%-d | 以小数形式表示的月日 | 1, 2.. |
%b | 缩略的月份名称 | 一月,二月 |
%m | 作为零填充的小数的月份 | 01, 02 |
%-m | 月份为小数点后的数字 | 1, 2 |
%B | 完整的月份名称 | 一月,二月 |
%y | 不含世纪的年份,作为零填充的十进制数字 | 99, 00 |
%-y | 不含世纪的年份,作为小数的数字 | 0, 99 |
%Y | 以世纪为小数的年份 | 2022, 1999 |
%H | 小时(24小时时钟),作为一个零填充的十进制数字 | 01, 23 |
%-H | 小时(24小时制时钟)为十进制数 | 1, 23 |
%I | 小时(12小时的时钟)作为一个零填充的小数 | 01, 12 |
%-I | 小时(12小时制时钟)为十进制数 | 1, 12 |
%p | 地区性的上午或下午 | AM, PM |
%M | 分钟为零填充的十进制数字 | 01, 59 |
%-M | 分钟为小数点后的数字 | 1, 59 |
% S | 秒,作为一个零填充的十进制数字 | 01, 59 |
%-S | 第二位为小数 | 1, 59 |
%c | 当地语言的适当日期和时间表示 | Mon Sep 30 07:06:05 2022年 |
strptime() 方法的使用方法如下 –
现在可以用 write_datetime() 方法将这个 日期时间 对象写进工作表。
例子
在下面的例子中, 日期时间 对象以不同的格式被写入。
输出
当用Excel打开时,工作表显示如下。