到2020年了。有个日期也火了,记得上一次仍是2011年11月2日。为啥捏,由于日期写成数字形式 正反是同样的。python
2020年也有一个这样的日期。20200202:2020年2月2日。spa
因而乎想写一段代码,都有哪些日期是知足这个条件的。code
用python 两行代码搞定。orm
首先导入一个时间包:arrow。blog
而后就是使用arrow进行转换格式,时间范围,for循环 最后输出字符串
import arrow print([r.format("YYYYMMDD") for r in arrow.Arrow.range('day', arrow.get(1900, 1, 1), arrow.get(2120, 1, 15)) if r.format("YYYYMMDD")==r.format("YYYYMMDD")[::-1]])
结果:
['20011002', '20100102', '20111102', '20200202', '20211202', '20300302', '20400402', '20500502', '20600602', '20700702', '20800802', '20900902', '21011012', '21100112', '21111112', '21200212', '21211212', '21300312', '21400412', '21500512', '21600612', '21700712', '21800812', '21900912', '22011022', '22100122', '22111122', '22200222', '22211222', '22300322', '22400422', '22500522', '22600622', '22700722', '22800822', '22900922']get
说实话上边的只是为了,增长噱头。简化来讲仍是最简单的循环 判断 输出。for循环
import arrow # print([r.format("YYYYMMDD") for r in arrow.Arrow.range('day', arrow.get(1900, 1, 1), arrow.get(9999, 1, 15)) # if r.format("YYYYMMDD")==r.format("YYYYMMDD")[::-1]]) # for r in arrow.Arrow.range('day', arrow.get(1900, 1, 1), arrow.get(2300, 1, 15)): start = arrow.get(1900, 1, 1) # 设置开始时间 end = arrow.get(2300, 1, 15) # 设置结束时间 for r in arrow.Arrow.range('day', start, end): t = r.format("YYYYMMDD") #日期格式转换为字符串 t1 = t[::-1] # 字符串翻转 if t1 == t: print(t)
输出结果:
20011002
20100102
20111102
20200202
20211202
20300302
20400402
20500502
20600602
20700702
20800802
20900902
21011012
21100112
21111112
21200212
21211212
21300312
21400412
21500512
21600612
21700712
21800812
21900912
22011022
22100122
22111122
22200222
22211222
22300322
22400422
22500522
22600622
22700722
22800822
22900922form
两个结果显示内容不一样,两行代码的。将结果放入list中,输出的是列表。第二段代码是单独输出。也能够将结果放入list中。获得相同的结果。class
完结。。