天天看點

第109個母親節快樂,程式猿特殊的表達

第109個母親節快樂,程式猿特殊的表達

文章目錄

  • ​​前言​​
  • ​​🚀 1.母親節起源​​
  • ​​🚀 2.母親節表達​​
  • ​​🌈 1.1 SQL算出母親節日期​​
  • ​​🌈 2.2 python繪圖​​
  • ​​🌈 2.3.java求指定年份母親節日期​​

前言

今天是星期天,也是母親節,2022年5月8日,109個母親節,祝福全天下的媽媽們節日快樂

🚀 1.母親節起源

第109個母親節快樂,程式猿特殊的表達
母親節(Mother’s Day),是一個感謝母親的節日。現代的母親節起源于美國,是每年5月的第二個星期日。母親們在這一天通常會收到禮物,康乃馨被視為獻給母親的花,而中國的母親花是萱草花,又叫忘憂草.

🚀 2.母親節表達

🌈 1.1 SQL算出母親節日期

🚩 MySQL

select
 year(curdate()) ‘年份’,
 month(curdate()) ‘月份’,
 weekofyear(curdate()) ‘本年周’,
 dayofyear(curdate()) ‘本年天’,
 DATE_FORMAT(now(), ‘%Y-%m-%d’) ‘日期’,
 TIMESTAMPDIFF(YEAR,‘1913-05-01’, DATE_FORMAT(now(), ‘%Y-%m-%d’)) ‘多少個母親節’\G      
第109個母親節快樂,程式猿特殊的表達

🚩 Oracle

select
 to_char(sysdate, ‘yyyy’) 年份,
 to_char(sysdate, ‘MM’) 月份,
 to_char(sysdate,‘iw’) 本年周,
 to_char(sysdate,‘DDD’) 本年天,
 to_char(sysdate, ‘yyyy-mm-dd’) 日期,
 trunc(months_between(sysdate,to_date(‘19130501’,‘yyyymmdd’))/12) 多少個母親節
 from dual;      
第109個母親節快樂,程式猿特殊的表達

🚩 postgreSQL

select
 to_char(now(),‘yyyy’) “年份”,
 to_char(now(),‘mm’) “月份”,
 date_part(‘week’, now()) “本年周”,
 extract(doy from now()) “本年天”,
 to_char(now(), ‘yyyy-mm-dd’) 日期,
 extract(‘year’ from now())-extract(‘year’ from to_date(‘1913-05-01’, ‘YYYY-MM-DD’)) 多少個母親節;      
第109個母親節快樂,程式猿特殊的表達

🌈 2.2 python繪圖

第109個母親節快樂,程式猿特殊的表達
import numpy
import multidict
import matplotlib.pyplot as plt
from scipy.misc import imread
from wordcloud import WordCloud, ImageColorGenerator

def transform_format(val):
    """
    用于去除雜色
    Arguments:
        val {[array]} -- RGB顔色組
    Returns:
        [array] -- 去除雜色後的值
    """
    if val[0] > 245 and val[1] > 245 and val[2] > 245:
        val[0] = val[1] = val[2] = 255
        return val
    else:
        return val


def gen_happy_birthday_cloud(file, name):
    words = multidict.MultiDict()
    # 必須先初始化兩個最大權重的
    words.add('母親節快樂', 10)
    words.add(name, 12)

    # 随意插入新的詞語
    for i in range(1000):
        words.add('媽媽', numpy.random.randint(1, 5))
        words.add('您辛苦了', numpy.random.randint(1, 5))
        words.add(name, numpy.random.randint(1, 5))

    # 設定圖檔
    bimg = imread(file)
    for color in range(len(bimg)):
        bimg[color] = list(map(transform_format, bimg[color]))

    wordcloud = WordCloud(
        background_color='white',
        mask=bimg,
        font_path='simhei.ttf'
    ).generate_from_frequencies(words)

    # 生成詞雲
    bimgColors = ImageColorGenerator(bimg)

    # 渲染詞雲
    plt.axis("off")
    plt.imshow(wordcloud.recolor(color_func=bimgColors))
    plt.savefig(name + '.png')
    plt.show()

gen_happy_birthday_cloud("mother.jpg", "母親節快樂")      

🌈 2.3.java求指定年份母親節日期

public class Mother {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("請輸入年份:");
        int year = in.nextInt();
        //擷取目前時間
        Calendar c = Calendar.getInstance();
        //設定年份
        c.set(Calendar.YEAR, year);
        //設定月份(從0開始,母親節是五月份第二個星期日,故設定為:4)
        c.set(Calendar.MONTH,4);
        //五月份最大的天數
        int maxDate=c.getActualMaximum(Calendar.DATE);
        int sunDays=0;
        for (int i = 1; i <=maxDate ; i++) {
            c.set(Calendar.DATE,i);
            //判斷是周日
            if(c.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
                sunDays ++;
                //第二個周日
                //退出循環
                if(sunDays== 2) {
                    break;
                }
            }
        }
        String date = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
        System.out.printf("%s年的母親節是:%s",year,date);
    }
}