Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基于百度万年历定制化 1

基于百度万年历定制化 1

作者头像
happlyfox
发布于 2018-10-31 07:16:40
发布于 2018-10-31 07:16:40
2K10
代码可运行
举报
文章被收录于专栏:技术开源分享技术开源分享
运行总次数:0
代码可运行

项目需求:

某门户项目需要在右上角添置一个日期(yyyy-MM-dd)的显示,同时点击此时间可以弹出一个窗体,窗体内容为万年历。

万年历需求:

1、日志显示24节气,且24节气内容可配置

2、对法定节假日可进行配置管理

项目开发周期:

一周

项目技术选择:

1、基于网上现存的万年历组件进行扩展

2、.Net MVC 开发一个Web项目进行内容配置

准备

首先我需要在网上找到一个相对完善的万年历模板,经过多番寻找,总算是找到了一个见如下链接,组件默认实现了很多的功能。

image.png

下载下来之后我需要对其内容进行修改,当我们打开文件结构时,我们发现所有的页面元素都已经被压缩过了,这就使得代码很难阅读,不方便我们后期的更改。这个时候一个神奇就出现了,LZ在之前的文章中也提到过,Jsbeautifier JS代码美化库,通过使用此工具我们可以将前台的代码进行格式化输出,同理对目录下的其他文件也可使用此方法,最后结果如图2所示

图1.png

图2.png

此时,代码阅读就很方便了。然后我们开始根据需求进行更改代码

1、首先我们不需要如下模块,将此模块内容更改为节日内容,如果点击日期是某个节气,显示具体内容,否则显示“无”。

image.png

2、下如所示“2015年假日安排”以及下拉框内容要将静态数据改为动态获取的方式,我们找到代码段见下图,将此处内容之后更改为AJAX动态获取。

image.png

image.png

思路

如图我们可以看到window.OB.RILi开头的内容对应的就是下拉框的显示数据以及各种前台绑定之。

dataRest:休息日

dataWork:工作日

dateFestival:假日

dateFestivalContent:节假日说明

dateAllFestival:所有的假期

jieqi24:新增加的节气

源程序内容,静态赋值

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 window.OB = window.OB || {},
 window.OB.RiLi = window.OB.RiLi || {}, 
 window.OB.RiLi.dateRest = ["0101", "0102", "0103", "0218", "0219", "0220", "0221", "0222", "0223", "0224", "0404", "0405", "0406", "0501", "0502", "0503", "0620", "0621", "0622", "0903", "0904", "0905", "0926", "0927", "1001", "1002", "1003", "1004", "1005", "1006", "1007"],
  window.OB.RiLi.dateWork = ["0104", "0215", "0228", "0906", "1010"], 
  window.OB.RiLi.dateFestival = ["20150101||元旦", "20150219||春节", "20150405||清明节", "20150501||劳动节", "20150620||端午节", "20150903||抗战纪念日", "20150927||中秋节", "20151001||国庆节"], 
  window.OB.RiLi.dateAllFestival = ["正月初一|v,春节", "正月十五|v,元宵节", "二月初二|v,龙头节", "五月初五|v,端午节", "七月初七|v,七夕节", "七月十五|v,中元节", "八月十五|v,中秋节", "九月初九|v,重阳节", "十月初一|i,寒衣节", "十月十五|i,下元节", "腊月初八|i,腊八节", "腊月廿三|i,祭灶节", "0202|i,世界湿地日,1996", "0214|v,西洋情人节", "0308|i,国际妇女节,1975", "0315|i,国际消费者权益日,1983", "0422|i,世界地球日,1990", "0501|v,国际劳动节,1889", "0512|i,国际护士节,1912", "0518|i,国际博物馆日,1977", "0605|i,世界环境日,1972", "0623|i,国际奥林匹克日,1948", "0624|i,世界骨质疏松日,1997", "1117|i,世界学生日,1942", "1201|i,世界艾滋病日,1988", "0101|v,元旦", "0312|i,植树节,1979", "0504|i,五四青年节,1939", "0601|v,儿童节,1950", "0701|v,建党节,1941", "0801|v,建军节,1933", "0903|v,抗战胜利纪念日", "0910|v,教师节,1985", "1001|v,国庆节,1949", "1224|v,平安夜", "1225|v,圣诞节", "w:0520|v,母亲节,1913", "w:0630|v,父亲节", "w:1144|v,感恩节(美国)", "w:1021|v,感恩节(加拿大)"];

我们通过更改原来的方式,通过ajax获取数据,数据放在一个json文件中,文件内容见下图

ajax调用.png

json文件内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "24jieqi": [
        {
            "name": "立春",
            "value": "斗指东北。太阳黄经为315度。是二十四个节气的头一个节气。其含义是开始进入春天,“阳和起蛰,品物皆春”,过了立春,万物复苏生机勃勃,一年四季从此开始了"
        },
        {
            "name": "雨水",
            "value": "斗指壬。太阳黄经为330°。这时春风遍吹,冰雪融化,空气湿润,雨水增多,所以叫雨水。人们常说:“立春天渐暖,雨水送肥忙”。"
        }
    ],
    "dateRest": [
        "0101",
        "0102",
        "0103",
        "0218",
        "0219",
        "0220",
        "0221",
        "0222",
        "0223",
        "0224",
        "0404",
        "0405",
        "0406",
        "0501",
        "0502",
        "0503",
        "0620",
        "0621",
        "0622",
        "0903",
        "0904",
        "0905",
        "0926",
        "0927",
        "1001",
        "1002",
        "1003",
        "1004",
        "1005",
        "1006",
        "1007"
    ],
    "dateWork": [
        "0104",
        "0215",
        "0228",
        "0906",
        "1010"
    ],
    "dateFestival": [
        "20150101||元旦",
        "20150219||春节",
        "20150405||清明节",
        "20150501||劳动节",
        "20150620||端午节",
        "20150927||中秋节",
        "20151001||国庆节"
    ],
    "dateFestivalContent": [
        {
            "name": "国庆节",
            "value": "10月1日至7日放假调休,共7天。10月10日(星期六)上班。"
        },
        {
            "name": "中秋节",
            "value": "9月27日放假。"
        },
        {
            "name": "端午节",
            "value": "6月20日放假,6月22日(星期一)补休。"
        },
        {
            "name": "劳动节",
            "value": "5月1日放假,与周末连休。"
        },
        {
            "name": "清明节",
            "value": "4月5日放假,4月6日(星期一)补休。"
        },
        {
            "name": "春节",
            "value": "2月18日至24日放假调休,共7天。2月15日(星期日)、2月28日(星期六)上班。"
        },
        {
            "name": "元旦",
            "value": "1月1日至3日放假调休,共3天。1月4日(星期日)上班。"
        }
    ],
    "dateAllFestival": [
        "正月初一|v,春节",
        "正月十五|v,元宵节",
        "二月初二|v,龙头节",
        "五月初五|v,端午节",
        "七月初七|v,七夕节",
        "七月十五|v,中元节",
        "八月十五|v,中秋节",
        "九月初九|v,重阳节",
        "十月初一|i,寒衣节",
        "十月十五|i,下元节",
        "腊月初八|i,腊八节",
        "腊月廿三|i,祭灶节",
        "0202|i,世界湿地日,1996",
        "0214|v,西洋情人节",
        "0308|i,国际妇女节,1975",
        "0315|i,国际消费者权益日,1983",
        "0422|i,世界地球日,1990",
        "0501|v,国际劳动节,1889",
        "0512|i,国际护士节,1912",
        "0518|i,国际博物馆日,1977",
        "0605|i,世界环境日,1972",
        "0623|i,国际奥林匹克日,1948",
        "0624|i,世界骨质疏松日,1997",
        "1117|i,世界学生日,1942",
        "1201|i,世界艾滋病日,1988",
        "0101|v,元旦",
        "0312|i,植树节,1979",
        "0504|i,五四青年节,1939",
        "0601|v,儿童节,1950",
        "0701|v,建党节,1941",
        "0801|v,建军节,1933",
        "0903|v,抗战胜利纪念日",
        "0910|v,教师节,1985",
        "1001|v,国庆节,1949",
        "1224|v,平安夜",
        "1225|v,圣诞节",
        "w:0520|v,母亲节,1913",
        "w:0630|v,父亲节",
        "w:1144|v,感恩节(美国)",
        "w:1021|v,感恩节(加拿大)"
    ]
}

通过这样的方式将原来写死在页面上的数据,变为数据可通过json文件配置。 新增了一个点击事件——鼠标点击,如果为节气,显示节气内容,我们添加如下的一段内容即可

点击事件.png

到现在位置,功能已全部实现,只不过内容代码都是html+css+js基本结构,没有将数据可配置化在数据库中。

结果演示.png

代码下载地址:后续放开

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.09.18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
老哥写的很好,能分享一下源码吗
老哥写的很好,能分享一下源码吗
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
2021年假期怎么放?都给你安排得明明白白!
来源 | Java面试那些事儿 2020年的假期莫得了, 但是2021年的给你安排得明明白白! 有休假和出行安排的看仔细了哦! Holidays 经国务院批准,现将2021年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期的具体安排通知及请假指南如下。 一、元旦: 2021年1月1日至3日放假,共3天。 二、春节: 2月11日至17日放假调休,共7天。2月7日(星期日)、2月20日(星期六)上班。 请假指南: 2月7-10日请假4天,可连休12天; 2月18-20日请假3天,可连休11天; 三
程序猿DD
2023/04/04
4660
2021年假期怎么放?都给你安排得明明白白!
手把手教你使用Python打造一款摸鱼倒计界面
你好,摸鱼人,工作再累,一定不要忘记摸鱼哦 ! 有事没事起身去茶水间去廊道去天台走走,别老在工位上坐着。多喝点水,钱是老板的,但命是自己的 !
Python进阶者
2021/12/30
7780
手把手教你使用Python打造一款摸鱼倒计界面
科技圈的Logo也要过十一,谷歌VS百度,谁丑谁尴尬?
国庆节的我: 中秋节的我: 好了,不做梦了,boss开会说,要过节了,写篇稿子吧? 刚打开word,准备入定码字,老远听到顺丰小哥对着我们办公室的小仙女喊道,“陈总,快递!” 小仙女一脸娇羞地小跑过去
镁客网
2018/05/30
1.2K0
Python统计节假日剩余天数
Python统计节假日剩余天数 目录 1、前言 2、倒计时脚本 1、前言 如何快速的想了解距离节假日还有多少天? 接下来使用Python脚本来解决这个问题。 2、倒计时脚本 脚本代码: #!/usr/bin/env python # -*- coding: utf-8 -*- # 公众号:AllTests软件测试 from colorama import init, Fore from zhdate import ZhDate import datetime def get_week_day(date)
wangmcn
2022/07/26
6610
Python统计节假日剩余天数
手把手教你开展mofish库(摸鱼库)的打包发布
前几天吴老板给我推荐了一个摸鱼库,竟然是Python库,给我惊了一下,感觉应缺斯汀。
Python进阶者
2022/03/10
4650
手把手教你开展mofish库(摸鱼库)的打包发布
怎么看长假旅游市场数据?解读来了
10月9日,文化和旅游部发布2020年国庆节、中秋节假期旅游市场数据和相关信息。中国旅游研究院(文化和旅游部数据中心)主要负责同志在京接受了媒体采访,就旅游消费、市场景气、产业创新、文化和旅游融合发展、全年旅游经济形势等主题,回应了旅游业界的共同关注。 【问】文化和旅游部昨日发布国庆节、中秋节假期八天的旅游市场数据,全国共接待国内游客6.37亿人次,按可比口径同比恢复79.0%;实现国内旅游收入4665.6亿元,按可比口径同比恢复69.9%。您如何评价这组数据? 【答】无论是与去年国庆节假期旅游接
腾讯文旅
2020/10/12
4670
2019年日历假期添加
考勤统计中,一般都需要考虑到节假日信息和调休的日期,每年12月份国家会颁布新一年的节假日信息,我们可根据节假日信息,维护成相关的日期表,用于日期维护。本文介绍下相关实现方式。 日期表的创建如下:
用户1217611
2022/05/06
5130
『自己构建节假日API』
之前梳理了一些内置库的学习,收到了一些评论,绝大多数评论都在直指一个问题:为什么梳理这些无关痛痒的内置库?
谢伟
2018/12/19
4.4K1
java开发_中国的公历转农历_源代码
注:第二条输出记录,我们有做处理,所以输出的是当前的日期,你也可以自己写一个方法,如:oneDay(int year,int month,int day)
Hongten
2018/09/13
3.1K0
万年历API接口详解:精准获取指定日期信息
本文详细介绍万年历API接口,该接口可精准获取指定公历日期的农历、节气、宜忌、星座等全方位信息。
用户9840656
2025/07/13
3480
万年历matlab算法,万年历算法(万年历算法和分析)[通俗易懂]
用蔡勒(Zeller)公式 即w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 公式中的符号含义如下,w:星期;c:世纪-1;y:年(两位数);m:月(m大于等于3,小于等于14,即在蔡.
全栈程序员站长
2022/07/22
1.8K0
基于百度万年历定制化 2
接着上面的内容,我们本章节通过设置数据库表结构,将json数据通过一种数据结构存储在数据库中。 首先我们需要设计数据库的表。
happlyfox
2018/10/31
7520
春节还怕抢不到票?Github上11k star开源神器助你一臂之力
  光阴似箭,不知不觉春节将至,你准备好抢票了吗?每年的抢票大战都让人精神疲惫,手速不够只能求助黄牛。作为一名技术人员,我们也许能有更多、更好的方式去抢到票,今天博主就给大家安利一个Github上免费开源的抢票软件,助力大家春节归途!
IT学习日记
2022/09/13
9260
春节还怕抢不到票?Github上11k star开源神器助你一臂之力
WindowsPhone 在 根据公历 获取月球日期数据「建议收藏」
经过測试,当输入的公历 年 小于 2001 年 获取的农历日期数据就会有误。
全栈程序员站长
2022/07/06
7750
WindowsPhone 在 根据公历 获取月球日期数据「建议收藏」
php获取农历日期节日
$c = new DayService(); $today=$c->convertSolarToLunar(date('Y'),date('m'),date('d')); $time ="农
IT工作者
2022/03/01
8.9K0
java万年历算法_寿星万年历—java算法实现
寿星万年历是我在网上见到的一份极高高精度的万年历,其采用先进的算法实现,其精度堪比刘安国教授为中国科学院国家授时中心制作的日梭万年历。但网络上只有javascript版本。于是自己将其翻译为java程序,并公布于此,方便大家使用。
全栈程序员站长
2022/07/23
1.3K0
超实用!2021运营日历发布,社区活跃就靠它!
节假日到来之前,其他岗位的同事: 运营的同事: 节假日对运营人来说,正是要做活动、搞气氛、追热点、促活跃的时候,也正是最忙碌的时候。 为了在新的一年里能成为一个优雅的运营,乐乐专门整理出了2021运营日历,让腾讯乐享的社区管理员和运营者提前把握全年运营节奏,轻松策划更多精彩活动,让社区更活跃! January 2021.01 忙碌指数: 1月初,开门红 元旦刚过,迈入2021年,对很多行业来说,正是进行开门红项目的时候,也是春节前最后的业务冲刺期。通过腾讯乐享,可以助力打造氛围、赋能销售前
腾讯乐享
2021/01/15
1K0
Java工具集-农历日期工具类
代码示例 import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.List; import java.util.TimeZone; import java.util.regex.Matcher; import java.util.regex.Pattern
cwl_java
2020/06/10
3.7K1
程序猿一定要知道的&过年&习俗
农历正月初一是春节,又叫阴历(农历)年,俗称“过年”。这是我国民间最隆重、最热闹的一个古老传统节日。春节是汉族最重要的节日。 今天是大年三十 辛辛苦苦忙了一年的你们正躺在舒舒服服的床上睡着懒觉的时候 你的家人一定在忙着、贴门神、贴春联,你被那声声爆竹吵醒 也加入到其中...... 接下来我们来盘点一下那些春节的习俗 01 守岁 守岁,俗名“熬年”。为什么称作“熬年”呢?民间流传着一个有趣的故事:太古时期,有一种凶猛的怪兽,散居在深山密林中,人们管它们叫“年”。“年”的形貌狰狞,生性凶残,专食飞禽走兽、鳞
互扯程序
2018/03/26
8080
程序猿一定要知道的&过年&习俗
写给前端程序员的英文学习指南
达达前端技术社群:囊括前端Vue、JavaScript、数据结构与算法、实战演练、Node全栈一线技术,紧跟业界发展步伐,一个热爱前端的达达程序员。以下写给程序员的英文学习指南,每天看一遍。
达达前端
2020/10/10
1.2K0
写给前端程序员的英文学习指南
相关推荐
2021年假期怎么放?都给你安排得明明白白!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验