20200202,千年難遇啊!

本文收錄在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 技術,公衆號第一時間推送。

相關文章
相關標籤/搜索