本文收錄在Java技術棧Github,歡迎Star:
https://github.com/javastacks/javastack
已經在家好幾天沒出門了,是否是都憋瘋了?今天又是個特殊的日子,我來給你們分享一個節日小知識。java
20200202 爲何說是千萬難遇的一天?git
由於今天是:世界徹底對稱日,不多碰見,看起來和迴文數差很少,如:github
2020 倒過來就是 0202,拼在一塊兒就是:20200202
這個節日是否存在科學意義還無從考證,但倒是十分有意思的一天,一千年也就那麼十來個。編程
今天是農曆正月初九,被你們寓意爲長長久久,又因 "2020" 諧音 "愛你愛你",又被很多人稱之爲千年一遇的 "最佳領證日"!微信
這不,不少新人們都相繼預定在 20200202 這天結婚領證,年前就已經排滿了,但最近些天,不巧,這個事吧,我估計懸了。。ui
既然世界徹底對稱日不多見,那都有哪些呢?spa
下面,棧長用 Java 程序打出了 21 世紀全部的世界徹底對稱日,也就 12 個。code
import java.text.SimpleDateFormat; import java.util.Calendar; /** * @author 棧長 * @from 微信公衆號:Java技術棧 */ public class SymmetryDay { public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); Calendar calendar = Calendar.getInstance(); for (int y = 2000; y < 2100; y++) { String year = String.valueOf(y); calendar.set(y, getValue(year, 2) - 1, getValue(year, 0)); String date = sdf.format(calendar.getTime()); if (date.equals(year + new StringBuilder(year).reverse())) { System.out.println(date); } } } private static int getValue(String year, int begin) { return Integer.parseInt(new StringBuilder(year.substring(begin, begin + 2)).reverse().toString()); } }
輸出結果:orm
20011002 20100102 20111102 20200202 20211202 20300302 20400402 20500502 20600602 20700702 20800802 20900902
下一個世界徹底對稱日是:20211202。blog
棧長用了一個很簡單的反序對比操做來輸出,我的感受可能不是最佳的編程方式,你還會哪些比較騷的方法?歡迎留言分享。
關注Java技術棧微信公衆號,棧長將繼續分享好玩的 Java 技術,公衆號第一時間推送。