带农历的中国万年历制作

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

最近一个小项目需要制作带农历的中国万年历,苦闷了几天,终于大功告成,可以保存为图片,可以更换风格等,全用C# 和 GDI+完成,为提高效率,全自行绘制,没有使用Label等控件。

上面的代码:
Graphics g = Graphics.FromImage(tmpBitmap);
   QQAAMonthCalendar mc = new QQAAMonthCalendar(2005,9);//自定义类,后面为调用的年份及月份
   mc.BgImageFileName = @"C:/Johnsuna/chineseCalendar/8413758_46926.61.jpg";
   mc.Width = 400;
   mc.Height = 300;
   mc.IsUseBgImage = true;//使用背景图片
   mc.CalendarBgColor = Color.Empty;
   
   g.Clear(Color.White);
   mc.DrawMonthCalendar(g);//绘制月历

代码:
Graphics g = Graphics.FromImage(tmpBitmap);
   QQAAMonthCalendar mc = new QQAAMonthCalendar(2005,9);//自定义类,后面为调用的年份及月份
   mc.BgImageFileName = @"C:/Johnsuna/chineseCalendar/8413758_46926.61.jpg";
   mc.Width = 400;
   mc.Height = 300;
   mc.IsUseBgImage = false;//这里改了一下,不使用背景图片
   mc.CalendarBgColor = Color.Empty;
   mc.IsUseNormalBodyXpEffect = true;//支持XP风格的月历芯
   
   g.Clear(Color.White);
   mc.DrawMonthCalendar(g);//绘制月历

本程序的最大优点是:可随时变换风格,可保存为多种图片格式文件,文字变化后不失真。

2005年中国农历(万年历)

2006年年历(万年历之2006,带农历及节假日):

2006年年历,带农历及节假日

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这里写图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Kotlin是一种现代化的编程语言,它可以用于开发各种应用程序,包括万年历月历。要输出农历万年历月历,你可以使用Kotlin的日期和时间库来计算日期和农历信息,并使用字符串格式化来输出结果。 以下是一个简单的示例代码,用于输出当前月份的农历万年历月历: ```kotlin import java.time.LocalDate import java.time.chrono.ChineseDate import java.time.format.DateTimeFormatter fun main() { val currentDate = LocalDate.now() val formatter = DateTimeFormatter.ofPattern("yyyy年MM月") val currentMonth = currentDate.format(formatter) println("当前月份:$currentMonth") println("星期日 星期一 星期二 星期三 星期四 星期五 星期六") val firstDayOfMonth = LocalDate.of(currentDate.year, currentDate.month, 1) val dayOfWeek = firstDayOfMonth.dayOfWeek.value % 7 for (i in 1..dayOfWeek) { print(" ") } var dayOfMonth = 1 while (firstDayOfMonth.monthValue == currentDate.monthValue) { val chineseDate = ChineseDate.from(firstDayOfMonth) val lunarDay = chineseDate.dayOfMonth.toString() print(lunarDay.padEnd(3)) if (firstDayOfMonth.dayOfWeek.value % 7 == 6) { println() } firstDayOfMonth = firstDayOfMonth.plusDays(1) dayOfMonth++ } } ``` 这段代码使用了Java 8引入的日期和时间API(java.time包),以及Java 8引入的农历API(java.time.chrono包)。它首先获取当前日期,并使用指定的格式化器将其格式化为"yyyy年MM月"的字符串。然后,它打印出当前月份的标题和星期几的标头。 接下来,它计算出当前月份的第一天是星期几,并在输出中添加相应数量的空格。然后,它使用一个循环来输出每一天的农历日期,并在每个星期六换行。 请注意,这只是一个简单的示例代码,可能需要根据你的需求进行修改和扩展。你可以根据自己的需要添加更多的功能,比如节假日信息等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值