用python生成一个随机的ISO8601日期?

use*_*608 2 python datetime iso8601

我已经看到了如何从ISO格式化日期,如2007-01-14T20:34:22+00:00使用python更加可读的格式datetime.

有一种简单的方法来生成一个随机ISO8601日期类似于这个答案datetime字符串?

Ffi*_*ydd 6

我建议使用这个Faker库.

pip install faker
Run Code Online (Sandbox Code Playgroud)

它是一个允许您生成各种随机"假"数据集的包.使用Faker下面的方法生成一个随机datetime对象,然后您可以使用该datetime.datetime.isoformat方法将其转换为ISO8601字符串格式.

import faker

fake = faker.Faker()
rand_date = fake.date_time()  # datetime(2006, 4, 30, 3, 1, 38)
rand_date_iso = rand_date.isoformat()  # '2006-04-30T03:01:38'
Run Code Online (Sandbox Code Playgroud)


wim*_*wim 5

  1. 确定您希望随机日期落入哪个范围.
  2. 计算(因为Unix纪元秒)在这些日期的时间戳记start,end整数.
  3. 用于random.randrange(start, end)在时间戳startend时间戳之间选择一个随机数.
  4. 将此随机整数转换为日期时间 datetime.fromtimestamp()
  5. 将日期时间更改为您想要的任何输出格式.