java--LocalDate,制作一个日历表
标签: LocalDate
前景
看了书上localDate的例子,用它来制作日历表,我调整了一下,做了一个日历表,虽然是例子,但是看一遍之后自己实现还是有点难度的
主要内容
- 年月日的获取
- 由当前时间重置回月初
- 通过获取月初的星期的值来格式化月初的那一行,并且到达星期6实现换行
代码
package test;
import java.time.*;
public class calendar
{
public static void main(String[] args)
{
// 本身没有数据,自然不用new初始化实例域
LocalDate date = LocalDate.now();
int year = date.getYear();
int month = date.getMonthValue();
int day = date.getDayOfMonth();
// 将date重置为这个月的月初
date = date.minusDays(day-1);
// 获取月初的那一天是星期几,取模运算还是厉害啊!
DayOfWeek weekday = date.getDayOfWeek();
int value = weekday.getValue();
System.out.println(" "+year+" "+month+" ");
System.out.println("Sun Mon Tue Wed Thu Fri Sat");
// 打印第一行的缩进部分
for (int i = 0; i < value % 7; i++)
{
System.out.print(" ");
}
// 正式打印day
while (date.getMonthValue() == month)
{
System.out.printf("%3d", date.getDayOfMonth());
// 给今天的日期打上标记*
if (date.getDayOfMonth() == day)
{
System.out.print("*");
}
else
{
System.out.print(" ");
}
// 每当遇到星期6换行
if (date.getDayOfWeek().getValue() == 6)
{
System.out.println();
}
// 当前天往后移动1天
date = date.plusDays(1);
}
}
}
运行结果
小总结:
和linux的有异曲同工之妙呢,有没有~小小代码,乐趣十足~,虽然写的都是书上的例子,但是光看不自己动手操作,不是很尴尬吗?看书学习的最大问题莫过于眼高手低了。再简单,只有自己真正敲出来了,运行出来了,才能有印象。就好比这个取模运算,我就是自己加进去的,上次见它是约翰瑟夫问题。这次就用上了~java核心技术这本书写的真的是好,很易懂,阅读过程很享受
智能推荐
根据日历表生成财年及周编号
概述 数仓中经常会有一张日历维表,里面预存了很多日期截取和计算相关的字段,便于与事实表关联之后进行各类基于日期相关的分析。 现假定已有日历维表字段有限,要求增加财年字段,并增加财年对应的周编号(周编号的逻辑有3种,后续将逐一说明和实现)。 本文以SQL Server 2016为例,示例如何不使用循环,以纯集合思维的数据库编程方法实现以上需求。 仅给出最关键的Select语句,为表加字段的SQL操作...
统计辅助表格——年月日历表的生成
当有统计表格的横坐标是按年份或月份统计的情况,我的处理办法是建立一个数据库辅助表util_calendar,从中拿取统计的时间段(要group by的日期字段): 首先,建表: 然后向表里添加两条数据,20世纪和21世纪: 接下来写存储过程,目的是给表中添加年和月的数据: 调用存储过程,假设存储过程名为insert_calendar: 这样就生成了1970年到2099年之间的所有年、月的数据(下图...
JAVA课程学习三:查询日历表
练习知识1:输入输出训练 练习知识2:制表符的使用 思路:星期的概念是从1900年开始,进行计算的,通过当前日期到1900年的天数计算,然后求余7得出星期几,本次训练,代码主要步骤为,通过计算年份到1900年的天数,以及本年的月的天数,最后通过打印输出日历表。 运行结果:...
安卓:通过BaseAdapter适配器对ListView组件的简单应用案例
项目结果演示: 案例实现流程: 在布局文件中新建一个ListView组件 ↓ 在另一个布局文件中新建一个用于展示的布局文件 ↓ 在java文件中新建实体类Student ↓ 在java文件中新建StudentApdater继承BaseAdapter并覆写相关方法(重点:覆写getView方法) ↓ 通过LinkedList插入数据 ↓ 调用自己定义...
猜你喜欢
递归与树(三)
图的遍历: 深度优先搜索 从任意节点开始, 访问v。 (递归的)访问每一个依附于v的(未访问过的)节点。 如果图是连通的,我们最终可以到达所有的节点。 深度优先搜索递归实现: 要访问图中与节点k相连的所有节点,我们将它标记为访问过的,然后递归的访问k的邻接表中所有未访问过的节点。 void traverse(link k,void (*visit)(int)) { li...
博客运用Hexo-Next主题美化(上)
–此篇文章有转载,转载url放在最后方 1、前言 上篇文章已经在Windows上将个人博客个搭建好了(如果还不知道怎么搭建的,可以戳这里,可是大家有没有发现,搭建的Hexo博客使用的是默认主题,而且不咋好看,跟那些大神们的个人博客相比,还差了很多,不过不要紧,看完这篇文章,你也可以拥有那些炫酷吊炸天的效果。废话少说,那就直接开始吧。 2、设置主题 Hexo给我们提供了很多的主题供我...
spring-boot整合jax-ws发布服务
第一步:导入依赖 第二步:创建接口 第三步:创建实现类 第四部:创建配置类 第五部:启动项目,访问http://localhost:8091/demo/api?wsdl 显示效果如下,则发布成功...
ArrayList中的迷惑行为
当我准备利用ArrayList的add(index,element)方法时遇到一个郁闷的结果。 废话不多说,show time 我现在需要满足一个需求,就是希望利用arrayList可以将本来的无序的元素添加到对应的index下 执行后: java.lang.IndexOutOfBoundsException: Index: 3, Size: 0 ArrayList初始化源码 因为初始化的 arr...
1+x云计算中级,第二天串讲,拓扑图
1+x云计算中级,串讲第二天的内容为利用ensp模拟华为设备 拓扑图如下 需要达到的效果:网络互通,各个vlan之间能正常通信,三个PC机能通过dhcp获得地址,能够通过cloud连接到外网,ping通8.8.8.8 需要用的技术有,vlan划分,OSPF,静态路由,路由的重发布,nat,基于端口的dhcp技术,cloud的使用 配置步骤 cloud的设置,连接物理机的网卡,请选择vm netwo...
