生成从00到24的两位数

时间:2016-12-01 13:30:49

标签: python

我有2016-01-01之类的日期字符串,我希望生成HH:MM:SS并添加到其中,使其变为:%Y-%m-%dT%H:%M:%S。所以现在我需要生成随机的小时,分​​钟和秒,或者如何生成两位数:randint(00, 24),即00, 06, 09而不是0, 6, 9

3 个答案:

答案 0 :(得分:4)

您可以使用以下内容从整数“myinteger”转换字符串:

"{:02d}".format(myinteger)

这样它总会显示至少2个数字(00,01,...,09,10,...... 100,......)

答案 1 :(得分:1)

要回答原始问题,要将数字填充为0,您只需使用string.zfill(n),其中n是所需的最小字符数。例如:

from random import random
import math

num = math.floor(random() * 24)
num = str(int(num))
print num.zfill(2) # => random num between 00 and 23

但是,看起来你只需要解析一个日期并输出一个日期时间 - 应该更像这样:

import time
dt = '2016-01-01'

print time.strptime(dt, '%Y-%m-%d')

您可以将日期修改为对象并显示/解析您选择的任何细节。

答案 2 :(得分:0)

您可以像这样格式化整数值的显示

"%.2d" % (int_value)

在示例中,代码如下:

print "%.2d" % 2

显示器

02