到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
完結。。