since = exchange.parse8601((datetime.utcnow() - timedelta(days=day + 1)).isoformat())换一种方式设置时间,避免因为机器时间的不同导致数据上的差异
时间: 2024-12-11 14:43:17 浏览: 8
为了避免因机器时间差异带来的数据不一致性,你可以采用UTC(协调世界时)作为基准并固定时区。可以将当前时间转换成固定的时区,比如格林尼治标准时间(GMT),然后再进行日期时间处理。以下是另一种设置时间的方式:
```python
import datetime
from pytz import timezone
# 使用固定时区,例如 'UTC'
utc_tz = timezone('UTC')
local_tz = timezone('your_local_timezone') # 请替换为你的实际时区
# 获取本地时间,假设你想获取前一天的日期
day = 1
current_utc = datetime.datetime.utcnow()
previous_day_in_utc = current_utc - timedelta(days=day)
# 将UTC时间转换到固定时区
fixed_date = previous_day_in_utc.astimezone(utc_tz)
since_str = fixed_date.isoformat()
# 现在since_str就是基于UTC的时间戳,不受本地系统时间影响
```
这里,`timezone('your_local_timezone')`需要替换成你的实际操作环境中的时区。这样设置,无论用户的电脑时间如何,生成的时间戳都将保持一致。
阅读全文