【发布时间】:2020-05-21 20:01:54
【问题描述】:
使用 Xlsx 编写器,我想编写符合操作系统区域/语言设置的区域设置格式的日期。例如,加拿大的操作系统设置的默认格式是'yyyy-mm-dd',而在德国,它是'dd.mm.yy'。如何使日期响应?
我已经阅读了文档,但仍然无法弄清楚。
这是我尝试过的:
import xlsxwriter
from datetime import date
workbook = xlsxwriter.Workbook('sample.xlsx')
worksheet = workbook.add_worksheet()
my_date = date(2020, 1, 31)
my_format = workbook.add_format({'num_format': 'mm/dd/yyyy'})
worksheet.write(0, 0, my_date, my_format)
workbook.close()
在设置为加拿大英语的 Excel 中,我预计 '2020-01-31' 但得到 '01-31-2020'
在设置为德语的 Excel 中,我希望得到 '31.01.20' 但得到的是 '01.31.2020'。
所以它设法使用了正确的分隔符,但其余的都是错误的。
提前致谢
【问题讨论】:
-
我有一个文件,我使用 xlsxwriter 以美国日期格式 (mm/dd/yy) 格式化了日期。当我用我的电脑打开它时,日期显示为欧洲格式(dd/mm/yy),而当我从我工作的笔记本电脑打开它时,它们显示为我们的日期格式。所以我认为它与机器的语言环境设置有关。
标签: python date format xlsxwriter