win32com写入excel日期

目录

一、问题

二、解决方法


一、问题

在使用win32com向excel写入日期数据时候发现以下问题。

因为贪方便直接写入datetime格式,导致数据错误。

ws.Range('F3').Value=datetime(2023,4,1,0,0)

--->2023/3/31  16:00:00

很显然的发现一个问题,在将数据写入excel后时间被减去了8个小时 ,很自然的联想到时区的问题。

不同地区国家的时间差异可能各不相同,不一定都是8小时。

二、解决方法

1.改成填写文本

ws.Range('F3').Value=datetime(2023,4,1,0,0).strftime('%Y-%m-%d')

--->2023/4/1

2.时间加8个小时

ws.Range('F3').Value=datetime(2023,4,1,0,0)+timedelta(hours=8)

---》2023/4/1 

3.设置时区

from datetime import datetime,timezone, timedelta

beijing = timezone(timedelta(hours=8))
ws.Range('F3').Value=datetime(2023,4,1,0,0).replace(tzinfo=timezone.utc).astimezone(beijing)

-->2023/4/1

 方法3参考链接  https://www.jb51.net/article/264076.htm

暂时想到的就是这些,overover。

你可能感兴趣的:(python,excel)