首页 > 解决方案 > 在 python 中,如何在 utc/gmt 中生成日期?

问题描述

我正在使用 dateutil.parser 生成一个随机日期,它似乎在我的本地时区,我如何在 UTC/GMT 中生成它?

from dateutil import parser
new_date = str(random.randint(1,27))+"/"+str(random.randint(1,12))+"/"+str(random.randint(2001,2020)) #d/m/y
targetdate = parser.parse(new_date, dayfirst=True)

标签: python

解决方案


可能最简单的方法是datetime直接使用,而不是尝试解析您生成的字符串。

import datetime
import random

def generate_random_date(from=datetime.datetime(month=1, day=1, year=2001),
                         to=datetime.datetime(month=1, day=1, year=2021)):
    from_t, to_t = from.timestamp(), to.timestamp()
    gen = random.randint(int(from_t), int(to_t))
    return datetime.datetime.utcfromtimestamp(gen).date()

推荐阅读