使用Calendar 将当月日历打印出来
package com.date; import java.text.DateFormatSymbols;
import java.util.Calendar; import org.junit.Test; public class CalendarTest {
/**
* 打印当前月的日历
*/
@Test
public void test1(){ // GregorianCalendar d = new GregorianCalendar();
Calendar d = Calendar.getInstance();
// 获取 当前 日 和月
int today = d.get(Calendar.DAY_OF_MONTH);
int month = d.get(Calendar.MONTH); // System.out.println(day+"\n"+month); //设置当前时间为 本月第一天
d.set(Calendar.DAY_OF_MONTH, 1);
//获取这一天是星期几
int weekday = d.get(Calendar.DAY_OF_WEEK); //获取当前地区 一周的第一天是星期几
int firstDayOfWeek = d.getFirstDayOfWeek(); // System.out.println(weekday+"\n"+firstDayOfWeek); //补充当前月 第一个星期中的 缩进的天数
int indent =0;
while(weekday!=firstDayOfWeek){
indent ++;
d.add(Calendar.DAY_OF_MONTH, -1);
weekday = d.get(Calendar.DAY_OF_WEEK);
} //打印星期
String[] weekdayNames = new DateFormatSymbols().getShortWeekdays();
// System.out.println(Arrays.asList(weekdayNames).toString());
do{
System.out.printf("%4s",weekdayNames[weekday]);
d.add(Calendar.DAY_OF_MONTH, 1);
weekday = d.get(Calendar.DAY_OF_WEEK);
}while(weekday!=firstDayOfWeek); System.out.println(); //将第一行 缩进的星期 空出来
for(int i=0;i<indent;i++){
System.out.print(" ");
}
d.set(Calendar.DAY_OF_MONTH, 1); do{
// 打印 天
int day = d.get(Calendar.DAY_OF_MONTH);
System.out.printf("%3d",day); //标记当前 天
if(day == today){
System.out.print("*");
}else{
System.out.print(" ");
} //继续下一天
d.add(Calendar.DAY_OF_MONTH, 1);
weekday = d.get(Calendar.DAY_OF_WEEK); //遇到 星期开始 ,换行
if(weekday==firstDayOfWeek) System.out.println(); }while(d.get(Calendar.MONTH) == month); }
}
结果:
aaarticlea/png;base64,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" alt="" />
使用Calendar 将当月日历打印出来的更多相关文章
- Java Calendar实现控制台日历
public static void main(String[] args) throws IOException { //初始化日历对象 Calendar calendar = Calendar.g ...
- python之模块calendar(汇集了日历相关的操作)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #calendar日历模块 import calendar #3个大类: calendar.Calendar( ...
- 用最笨的方法实现java控制台日历打印
如果想用户自定义输入日期查询,可以通过Calendar的set方法和Scanner方法设置 Calendar类简单使用:https://blog.csdn.net/weixin_43670802/ar ...
- WPF 自定义Calendar样式(日历样式,周六周日红色显示)
一.WPF日历控件基本样式 通过Blend获取到Calendar需要设置的三个样式CalendarStyle.CalendarButtonStyle.CalendarDayButtonStyle.Ca ...
- oracle 当月日历的sql
select max(sun) sun, max(mon) mon, max(tue) tue, max(wed) wed, max(thu) thu, max(fri) fri, max(sat) ...
- Java中的Calendar日历用法详解
第一部分 Calendar介绍 public abstract class Calendar implements Serializable, Cloneable, Comparable<Cal ...
- 用java打印日历
来自<java核心技术卷一> /** * Created by wangbin10 on 2019/1/3. * 打印当月日历 */ public class CalendarTest { ...
- Oracle打印日历功能
Oracle用SQL打印日历 1.1 打印当月日历 , D, NULL)) SUN, , D, NULL)) MON, , D, NULL)) TUE, , D, NULL)) WED, , D, ...
- java之Date(日期)、Date格式化、Calendar(日历)
参考http://how2j.cn/k/date/date-date/346.html Date(日期) Date类 注意:是java.util.Date; 而非 java.sql.Date,此类是给 ...
随机推荐
- LAMP最新源码一键安装脚本
Linux+Apache+MySQL+PHP (脚本可以选择是否安装+Pureftpd+User manager for PureFTPd+phpMyAdmin+memcache),添加虚拟主机请执行 ...
- Spark的优点
Spark的一站式解决方案,非常之具有吸引力,毕竟啊,任何公司都想用统一的平台去处理遇到的问题,减少开发和维护的人力成本和部署平台的物力成本. 当然,Spark并没有以牺牲性能为代价.相反,在性能方面 ...
- Mysql SQL优化&执行计划
SQL优化准则 禁用select * 使用select count(*) 统计行数 尽量少运算 尽量避免全表扫描,如果可以,在过滤列建立索引 尽量避免在where子句对字段进行null判断 尽量避免在 ...
- LightOJ 1282 Leading and Trailing (快数幂 + 数学)
http://lightoj.com/volume_showproblem.php?problem=1282 Leading and Trailing Time Limit:2000MS Me ...
- RAID对硬盘的要求及其相关
Raid 0:至少需要两块硬盘,磁盘越多,读写速度越快,没有冗余. Raid 1:只能用两块硬盘,两块硬盘的数据互为镜像(写慢,读快),一块磁盘冗余. Raid 5:至少需要3块硬盘,一块磁盘冗余. ...
- PostQueuedCompletionStatus
PostQueuedCompletionStatus函数,向每个工作者线程都发送—个特殊的完成数据包.该函数会指示每个线程都“立即结束并退出”.下面是PostQueuedCompletionStatu ...
- 转载php在IIS中运行
在IIS中配置PHP运行环境简单步骤 安装 IIS 7.0 打开 Control Panel\Programs\Programs and Features\Turn Windows features ...
- yii2.0 gii
1.添加模型 ./yii-dev gii/model --tableName=tableName --generateLabelsFromComments --ns='app\models\base' ...
- 设置ul阴影效果和边框圆角
ul.box {position: relative;z-index: 1; /* prevent shadows falling behind containers with backgrounds ...
- 线程池:ThreadPoolExecutor
[ThreadPoolExecutor的使用和思考] public ThreadPoolExecutor(int corePoolSize, ...