新手小白无聊时做的一个 日历控件,需要的朋友可以借鉴下,高手大神也可以指点一下。

核心代码

  1. 获取某年某月有多少天
    /// 获取某年某月有多少天/// </summary>/// <param name="_year">年份</param>/// <param name="_month">月份</param>/// <returns></returns>public int DaysFromMonth(int _year,int _month){return DateTime.DaysInMonth(_year, _month);}
  1. 根据年份和月份,获取当月的1号是星期几
    // 根据年月返回月份1号的星期DayOfWeek WeekFromDay(int _year, int _month){return DateTime.Parse(_year + "/" + _month + "/" + 1).DayOfWeek;}
  1. 关于农历日期的获取
    天干地支纪年法,将十天干和十二地支安顺序打牌组合成干支,用于纪年。按此排法,当10天干排了六轮,12地支排了五轮之后,可构成60干支。继续拍下去又恢复原状,周而复始,即如民间所说的“六十年转甲子”。
    10天干,12地支,12生肖
    // 十天干private static string[] heavenlyStems  = { "甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸" };// 十二地支private static string[] earthlyBranches = { "子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥" };// 十二生肖private static string[] zodiacs = { "鼠", "牛", "虎", "免", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪" };

<1> 获取农历的年份

   /// <summary>/// 获取农历的年份/// </summary>/// <param name="_year"></param>/// <returns></returns>public string GetLunarYear(int _year){if (_year > 3){int hs = (_year - 4) % 10;int eb = (_year - 4) % 12;return string.Concat(heavenlyStems[hs], earthlyBranches[eb], "[", zodiacs[eb], "]年");}else{Debug.Log("----------------- 无效的年份 ----------------");return "";}}

<2> 获取农历的月份

    /// <summary>/// 获取农历的月份/// </summary>/// <param name="_month"></param>/// <returns></returns>public string GetLunarMonth(int _month){switch (_month){case 1:return "正月";case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10:return string.Concat(DayToString(_month), "月");case 11:return "十一月";case 12:return "十二(腊)月";}return "";}

<3> 获取农历的日

    /// <summary>/// 获取农历的天/// </summary>/// <param name="_day"></param>/// <returns></returns>public string GetLunarDay(int _day){if (_day < 11)return "初" + DayToString(_day);else if (_day > 10 && _day < 21)return "十" + DayToString(_day % 10);else if (_day > 20 && _day < 30)return "廿" + DayToString(_day % 20);elsereturn "三十" + DayToString(_day % 30);}
  1. 公历的日转农历
string DayToString(int _index){switch (_index){case 1:return "一";case 2:return "二";case 3:return "三";case 4:return "四";case 5:return "五";case 6:return "六";case 7:return "七";case 8:return "八";case 9:return "九";case 10:return "十";}return "";}
  1. 显示农历的日期:
    /// <summary>/// 显示农历日期/// </summary>/// <param name="_day"></param>void ShowLunarDateTime(){txtLunarDateTime.text = string.Concat(GetLunarYear(year), "  ", GetLunarMonth(month), "  ", GetLunarDay(day));}

Unity UGUI自制日历控件 带农历日期相关推荐

  1. ExtJs中定制日历控件——带复选框

    效果图: 代码: /*********************日历组件部分**************************** begin */ var dateArray = new Array ...

  2. ExtJs中定制日历控件——带下拉列表

    效果图: 日历组件部分代码: /*********************日历组件部分**************************** begin */ var dateArray = new ...

  3. Selenium2+python自动化25-js处理日历控件(修改readonly属性)

    前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用j ...

  4. 艺赛旗(RPA)selenium 利用 js 处理日历控件

    艺赛旗 RPA8.0全新首发免费下载 点击下载 http://www.i-search.com.cn/index.html?from=line1 详细内容请参看艺赛旗官网支持栏目:RPA社区 点击链接 ...

  5. Android考勤日历控件

    工作这么久,第一次在CSDN上写技术博客,望大家多多支持: 本篇博文给大家分享一个考勤日历控件,这里有个需求:要求显示当前月的日期,左右可以切换月份来查看日期.可以通过不同的颜色表示每天的考勤状态: ...

  6. selenium操作日历控件

    日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用js去掉 ...

  7. pythongui日历控件_Selenium2+python自动化25-js处理日历控件(修改readonly属性)

    前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用j ...

  8. python时间控件readonly属性_Selenium2+python自动化----js处理日历控件(修改readonly属性)...

    前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用j ...

  9. python时间控件readonly属性_人生苦短,我学python之python+selenium js处理日历控件(修改readonly属性)...

    转载于 上海-悠悠的博客 前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性 ...

最新文章

  1. Git 常用操作(1)- 配置、查看、添加、暂存和提交
  2. 头文字C的混战何时方能休?论从某语言怎么怎么样到我要怎样怎样的语言
  3. 企业网络推广——企业网络推广更注重网站内部链接优化!
  4. C#6.0语言规范(一) 介绍
  5. 最实用的Office使用技巧
  6. LibSVM学习(二)——第一次体验libSvm
  7. Redis的入门(一)常用命令
  8. 对于公司,也是我对软件行业,软件项目的五想法
  9. “Table .__efmigrationshistory doesn’t exist”的解决方案
  10. devops_您无法购买DevOps
  11. QtDesigner配置
  12. [算法] 克鲁卡尔算法 最小生成树
  13. 搜索引擎是如何抓取网站内容的
  14. 首先,你要自信| 万工随笔
  15. java 邮箱找回密码_【JavaWeb】通过邮件找回密码
  16. ubuntu22.04装机中基本软件
  17. 以太坊区块链也拥堵_后以太坊1.0众生相:DeFi拥堵,突围Layer2
  18. 面试不慌,史上最全 Redis 面试题(含答案)
  19. openssh服务和iptabels、firewalld防火墙
  20. 算法的有穷性和可行性的区别

热门文章

  1. Ubuntu: PPA介绍
  2. windows live mail error message
  3. 2021蓝桥杯国赛B组C/C++个人记录
  4. 联想微型计算机b550是什么主板6,联想发布拯救者Tower 5电脑主机:B550 M-ATX主板 最高选配3700X...
  5. SolidWorks 入门笔记02:三维实体(特征)
  6. 亲测可用|亚信防毒墙网络版卸载图文教程
  7. PDF格式转WORD要钱?Python几秒就能完成。
  8. 阿里二面,面试官:说说 Java CAS 原理?
  9. uboot usb驱动模型
  10. oracle2018补丁下载,下载 | Oracle补丁2018年4月重要补丁更新cpuapr2018-3678067 绿盟科技发布安全威胁通告...