php 获取每年的节假日,shell获取每年农历节日的日期

原创内容,转载请注明出处:https://www.myzhenai.com.cn/post/3711.html

我打算自己写一个每年节日就自动在网站上展示灯笼的源码功能,但是这里最重要的是要获得每年春节、端午节、中秋节等节日的日期,因为要自己写这判断这些日期的功能,那代码就多了,所以我用了一个万年历的接口来获取,这样我们只需要获取万年历接口返回的数据就可以了,其他类如情人节、国庆节、元旦、三八节、六一节、建军节等节日的时间是新历固定的,所以不依赖万年历接口都可以。

引导阅读:

为网站增加春节灯笼效果:https://www.myzhenai.com.cn/post/3645.html

万年历接口申请地址:https://www.juhe.cn/

我们需要先注册聚合数据,然后通过实名认证后,可以申请一个万年历的接口key,只有了这个key才可以引用万年历接口,但是免费版本的只有100次一个月,这个次数如果我们在网站PHP里调用的话,那么很容易就用完了,所以我把获取日期数据的功能写一个shell脚本,然后用php来读取这个脚本就可以了。把shell脚本定时为每月运行一次,这样就不会影响我们的使用次数。

万年历接口使用方法

在这里我准备获取的是当年的假期列表,year后边的参数可以在shell里获取当前年份,然后用curl就可以准确得到我们需要的日期数据了,在浏览状态下获取到的是类如下图这样的。

{"reason":"Success","result":{"data":{"year":"2021","holidaylist":"[{\"name\":\"元旦\",\"startday\":\"2021-1-1\"},

{\"name\":\"除夕\",\"startday\":\"2021-2-11\"},{\"name\":\"春节\",\"startday\":\"2021-2-12\"},{\"name\":\"清明节\",\"startday\":\"2021-4-4\"},

{\"name\":\"劳动节\",\"startday\":\"2021-5-1\"},{\"name\":\"端午节\",\"startday\":\"2021-6-14\"},{\"name\":\"中秋节\",\"startday\":\"2021-9-21\"},

{\"name\":\"国庆节\",\"startday\":\"2021-10-1\"}]","holiday_list":[{"name":"元旦","startday":"2021-1-1"},{"name":"除夕","startday":"2021-2-11"},

{"name":"春节","startday":"2021-2-12"},{"name":"清明节","startday":"2021-4-4"},{"name":"劳动节","startday":"2021-5-1"},

{"name":"端午节","startday":"2021-6-14"},{"name":"中秋节","startday":"2021-9-21"},{"name":"国庆节","startday":"2021-10-1"}]}},"error_code":0}

#!/usr/bin/env bash

# !/bin/bash

. /etc/profile

############################################################################################################################################

#

# This is a lottery number automatic generation tool

# Autor: RucLinux

# Web: https://www.myzhenai.com.cn/ https://www.myzhenai.com/ https://mangshe.python.hn.cn/ https://jiayu.mybabya.com/

# 说明:转载引用请保留这段,谢谢

#

#############################################################################################################################################

var=$(date +%Y)

fen=$(curl -s http://v.juhe.cn/calendar/year?year=$var\&key=859195d15d********************** | awk -F "[" '{print $2}' | awk -F "]" '{print $1}' | sed 's/\\//g' | sed 's/\"//g' | sed 's/}\,/}\n/g')

这里有一点需要注意,在curl的时候,地址中的&符号需要用\进行转义,不然会出错。后边的都是截取和替换的命令。

e0ff2dc1ffc2fff2c03db04429a76167.png

c1914eca95e5dbbfb1cababdc49a6fac.png

1a1f3f8c854ef7d8b3dcc21a04377e22.png

sicnature ---------------------------------------------------------------------

Your current IP address is: 116.208.48.52

Your IP address location: 湖北省襄阳市电信

Your IP address country and region: 中国

d9840db1de5c066b3143a36b83ba0940.png

Your current browser is:

c55e3eff36f0c380a04e3e5ffee3bbca.png

Your current system is:

mac.png

Original content, please indicate the source:

同福客栈论坛 | 蟒蛇科普 | 海南乡情论坛 | JiaYu Blog

sicnature ---------------------------------------------------------------------

Welcome to reprint. Please indicate the source https://www.myzhenai.com.cn/post/3711.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/366130.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python爬虫requests实战_Python爬虫之requests库网络爬取简单实战

实例1:直接爬取网页 实例2 : 构造headers,突破访问限制,模拟浏览器爬取网页 实例3 : 分析请求参数,构造请求参数爬取所需网页 实例4: 爬取图片 实例5: 分析请求参数,构造…

某制冷设备制造厂商

某制冷设备制造厂商 该公司是一家以钣金加工,制冷设备制造、销售为主的公司,其产品广泛应用于高级宾馆、饭店及大型餐饮设施等。销售网点遍及日本、北美、欧洲及东南亚,产品深受世界各地用户的欢迎。 该公司原先使用的是TPICS生产管理系统&am…

python数字转换_Python实现中文数字转换为阿拉伯数字的方法示例

本文实例讲述了Python实现中文数字转换为阿拉伯数字的方法。分享给大家供大家参考,具体如下: 一、需求 今天写了三千二百行代码。 今天写了3200行代码。 两行意思相同,只是表达方式不太能够,统一掉。 二、原理 数字的特征是 数字 …

LeetCode第14题:最长公共前缀

题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ["dog","racecar"…

臭名昭著的sun.misc.Unsafe解释

Java虚拟机的最大竞争对手可能是托管C#等语言的Microsoft CLR 。 CLR允许编写不安全的代码作为低级编程的入口,这在JVM上很难实现。 如果您需要Java中的此类高级功能,则可能会被迫使用JNI ,这需要您了解一些C并Swift导致代码紧密耦…

主从复制

五 主从复制 Replication(重要!!!!!!) 5.1、介绍 基于主库二进制日志实时恢复到备库。 5.2、原理 5.2.1 主从复制的前提 (1)两台或两台以上数据库实例 (2)主库…

python输出格式控制_Python3.x那些事儿:[50]多种多样的输出格式

目前有两种方式来格式化输出格式,第一种就是自己动手来进行字符串的操作,虽然麻烦,但是都能实现。第二种方式就是使用str.format()函数。 string模块包含了一个Template类,这个类提供了把值替换成字符串的方法。 python提供把任意…

暑假第十五测

题解: 第一题: 20%枚举长度和每个子串,O(len)判断,随机情况复杂度可过 40%同样枚举长度,然后两个指针卡出区间,O(1)[或O(26)//可能可过?]判断 50%既然知道了40%的做法那…

zabbix磁盘的自动发现与磁盘指标监控

由于最近项目上需要对服务器监控进行规范化监控,再磁盘这块有几种方式 1.如果每台设备的磁盘是一样的 比如都有vda,vdb两块磁盘那么可以采用 1.1 每台客户端写脚本,服务端每台设备去加上监控项(------最次的手段-------------) 1.…

php前台用户权限开通,vue实现网站前台的权限管理

本文主要介绍了基于vue实现网站前台的权限管理(前后端分离实践),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。Javascript做为当下的热门语言,用途很广泛&#xff0c…

应用ForkJoin –从最佳到快速

到目前为止,JDK 7已很好地掌握在开发人员手中,并且大多数人都听说过ForkJoin,但是没有多少人有时间或机会去尝试它。 它引起了,并且可能仍然引起一些混乱,与普通线程池有什么不同。 [1] 我在本文中的目标是通过一个代…

Echarts-K线图提示框改头换面

工作: 使用Hbuilder建web工程,加入echarts相关库,根据需要更改K线图及其的提示样式,去除默认提示,使用异步加载echarts的数据,数据格式为json。 需要注意的K线图和5日均线,10日均线的意义&#…

vc6.0 matlab混合编程,matlab2010 + vc6.0混合编程实例(调用dll)

不想解释太多直接上代码吧!!!在对matlab配置后,上代码mcc -W cpplib:libMyAdd -T link:lib MyAdd -C就可以了,记得加上-C在对VC6.0进行配置的时候只要把 matlabroot\extern\include和matlabroot\extern\lib\win32\micr…

canvas换图时候会闪烁_Canvas实现图片上标注、缩放、移动和保存历史状态,纯干货(附CSS 3变化公式)...

(给前端大学加星标,提升前端技能.)作者:zhcxk1998https://juejin.im/user/5d4304bdf265da03d15531dc哈哈哈俺又来啦,这次带来的是canvas实现一些画布功能的文章,希望大家喜欢!这个css3变化公式可以适用于平常我们使用的…

RMI强制Full GC每小时运行一次

在我职业生涯中进行的所有故障排除练习中,我感到随着时间的推移,我所追寻的错误在不断发展,变得越来越卑鄙和丑陋。 也许仅仅是我的年龄开始了。这个特别的Heisenbug –看起来像这篇帖子一样,再次让我清醒了很多,而不是…

oracle 安装ora 27102,ORA-27102 解决办法

因为在32位操作系统上执行了如下的操作alter system set sga_max_size2G scopespfile;之后再重启数据库就会失败报出错误:ORA-27102Out of Memory解决的方法也很简单:新建一个文本文件 如initaaa.ora内容:SPFILE../product/10.2.0/db_1/dbs/spfileorcl.o…

Codechef August Challenge 2018 : Modular GCD

传送门 一开始还手动拓欧找规律&#xff0c;发现好像玩不了。 然后想了想&#xff0c;A-B这个数比较小&#xff0c;枚举它的因子判断合不合法就行了。 需要特判AB的情况。 #include<cstdio> #include<algorithm> #define ll long long #define ld long double usin…

c语言 指针_C语言——指针

学习阶段&#xff1a;高中信竞、大学编程。前置知识&#xff1a;二进制与十六进制&#xff0c;C语言基础&#xff0c;数组。指针初学可能比较难理解&#xff0c;我这篇文章尽量用通俗易懂的方式来讲解。1. 指针概述为什么有指针这个东西&#xff1f;因为指针很贴近计算机内部的…

BZOJ 2141 排队(分块+树状数组)

题意 第一行为一个正整数n&#xff0c;表示小朋友的数量&#xff1b;第二行包含n个由空格分隔的正整数h1,h2,…,hn&#xff0c;依次表示初始队列中小朋友的身高&#xff1b;第三行为一个正整数m&#xff0c;表示交换操作的次数&#xff1b;以下m行每行包含两个正整数ai和bi&…

vant input框禁止调用手机键盘_【案例分享】适应网银等密码键盘的解决方案

在各种技术不断进步的大趋势下&#xff0c;对业务造成了极大影响&#xff0c;从大数据到云计算&#xff0c;再到人工智能&#xff0c;众多企业都开始步入技术改革&#xff0c;从而实现企业的创新。但与此同时&#xff0c;更多技术的引用&#xff0c;意味着更多的业务系统上线&a…