使用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,iVBORw0KGgoAAAANSUhEUgAAAScAAACACAIAAADGVjj0AAAJnklEQVR4nO2d22GkOhBEScsERDomhBvFJEMw3I8Zr9G7JbqKwVPny+uHigYVA6y6mHYhvNm+v6blkf3RY5m+vrfSj6ZpKv3hSV6Dl7StY5zcuO37a3ns+3RqECFEF9v31zTJdUKwmfZ9/08IQUSfdUKwkeuEYCPXCcFGrhOCjVwnBJu866Yyx9+Jvji7KRKV6FuKem3Y74BdMvXtTsuz1O8u2sWtRS/ZvRXRVMJFtEvRsVLLmGMMftZlv5+tpDQ+TrSvfr9K6+P8pUqbX+AqtdTuLmrUteP8WVf6wjK+l2gXEh0+pkbXuYg2B4SKujP4WRf9TuU7pfFxol1ItFfU8gWuUkvtLqKVQbIb1oXDmaP+xdhGnxEdRqLGYzq2YYiJVJE7L4qj47M4/Z2oeHsB2e+7iFZ8nj1OXpV24Shqn4vux9SyN3x3b/2fBNGxw51Rb25T6YhmN7dUSTo+TrQLifaKTj9nt+zg0Err/7xWtIvGZ05JJltPtpK8avWkeFLUjkQHRNN5aVQ5X6lxQEdRi8QAxb9Pt6wplj1C9d9EiPYi0S7Ryp+U5qhLpelf1bcEJFrXNdL++5JG5XgcvyiBEx1mWLRSZrPYe1W6t4oFiWb/3LIfTlbaO6wR68kp2rOR6nGPR18bN9pRtKP4O4taxkFUWikZJHpJpZUymz9tcvasKYToRa4Tgo1cJwQbuU4INnKdEGzkOiHYyHVCsJHr7sm2ztM0rydC+0dFn3ClXy8pmKYJ9RqEKuvsrCvX3Y3XDJzXdaFO/W2df6feY6EZ77Ecp3ywFRS2dZ7m+fR7RQLkutvyoLpuW+dAblvneaWpH4k2BMu2ztO8buff5hMg190WrutS9Suu9V4uoMk9PederVx3Wy6a99do/7ulJFru4HC5Tjy5ynX8W6sDzxtKhtL28zn3kpXrxH6R64K5eA2cug/Pa/0fn8p1t4XvOuKTy/pW0DdCn3XiCdd18XUl6xlmdEl50eWtXPfh5C59COf+rCpa9ElYMdtyB3FdYQpxW+Q6IdjIdUKwkeuEYCPXCcFGrhOCjVwnBBu5Tgg2cp0QbDxdd+yzv2AVwYZYRVAmrpZZ8EGb21p6jHBwHrqaSfF7bLm6oKQMZ9dd1QByQYxIXC2v+nUOEw1YO/2x/J5YPLtLW5kURy3Peuu6yKSMP+G6x0I+5ee3gVN8vOyYJhwLbevsLJzvjn8s4cH1T3Cod+UDevb/guuIp/sixNrDThdefknGdc7TMTu/E3P77+q7u+6Ku5zXUThc+fM7wC7ouiH2G7yIrzDdj3F2LyYXMv79dfWjBzi2uGeYtObDxzIty0Hsgm5nrumCk++2LsRig6cp7lXLdefxvwLJEwYmPr/Dvc2jmu6y+7rshuBnf3IJjbjClOu6SU5+ZNfRLy9DNfeHGjYA1zL5HRl/F/E05a6ui1vrmRkbYYQO++EK+wlqON2veX57vMVzHTU3aHD6Rpzi7uu6fY8ep1yUl0h/mnJBeE7wNIW3n1GqhkwKyAKIui4yKUMrwoRgI9cJwUauE4KNXCcEG7lOCDZynRBs5Doh2Mh1QrCR64Rg0++6Sts2dIFIrV38uCjGe62GoU19nam62KSMZr2gpIySri0pY3zRr3FeuS6763Fdvac9WIjpugrT0GkfJBp4zQVbD/+2ztM8e67Va+miVlsb6oUkZTSPryEpY8R1rXpxSRlDV5i57tq4bESPs62rl9rh/1p4jTFCQRfe41CqF73S2nJ8o+J/Tu+v6Td20i31sMM6qtxcl/4OYm14U9czRceg+9Ps8BGugzdzGI5vpvbznfWlvBZYUsag61q7HzULi6P+2/WIk3G5A+VHjlovPCmj2ucGTMoYnVfPvqPxDIGSLiwpA+A63EtsDXM7eqEuUDdo6qOfZYJf4nWXYpMymvUWD8Ty2OM2y/O6uKQMb9cNV35St/u3zurm2q+8jWerhJSkQEjKaNULfIzUTo54g/u6/Aag+8fNrmOfg6/8rKO5Dp+U0agXdj9bch0sKcPNdfF1JeYZZqobXVJCLm/fyXWMpIzafQ4yKaOZpAB6glr8bEclZfS4rtrTnv2Zzza2eunDn7M6/H/w/z/jpi4oKcNSL2IhhG0/+1/CNHVhSRlaESYEG7lOCDZynRBs5Doh2Mh1QrCR64RgI9cJwUauE4KNXCcEG9cEh+itgo60lkRsh/4Tpi6mubqli0vKaIwMS8qwVeSflFHVxSVl+CU4hK9X8uwubWVDHLU8O+3rurZ8B39dXFKGoV5IUoatIv+kjJYurnvYsZc83shk0fYgrWyIeOW71xJ8ayaF99vi67q4pIzekan7GZCU0dS9q+sgbT+RTmJuahfW7u86q67lpzBdSFJGWReblFHQfTvXFZMFjleY3hfhee2kBQPzGsfyIcDGmLyZ56BJGQVdeFJGYWRcUoZzL3nwNMV9F2VvJgiuq9/E4GZCXReXlGEYGZKUkdUlJGWY9qTntAKlFe27+xVmKRsCfTnezKQAua6ui0vKMI/M2c/wpAxzvY7zGec614+c2rO6eGs8zW55RojJIKzp4pIyekb2PMBWXe993VPv+7vueIt3lmY2RLA7/I6LNZPCeybUdXFJGfWRcUkZPRU5P8Ps2M+uZzq3BIc9DHFwnIeWbAhE9H5D15Y74K6LS8pojgxKyjBW5H6I27qgpAytCBOCj1wnBBu5Tgg2cp0QbOQ6IdjIdUKwkeuEYCPXCcFGrhOCTafrLJ32G2ChSEU37rN3XUZgTzTgJkegkjJaGQ2opIwPo3tFWL3THhIj0kwWiF5lyEoWOIZF8JIjcEkZrYwGVFLG59HhunanPeYNY33JAq6mq+nC3uXZTqzAJGWkhBuCSsr4QE7c1yXTjHT6q05vYGN35kM1eG+1/1syi7qMpIz4U5SWlPEBDLsu3eev7xyu/EEdYG+TaBAswged+AvJArikjFJGAykp4yMYcl2+ueqxTMtyOBL+3c7Npi5gW3dm4CCmaFsXTCpmtiBsUsa+72lGg1znx1gKbTEOM74WcrzoMnTaQ6afNTkC0dzKThaICEoiBtf9eTpdV+2oTU5+fq4zdfICpkFFN7nP8Xyo0dG5DPzICYdGJmV8GH3PMBud9uHp2evhSkeSguvzjJZuMicpSQohnkkZzYwGUFLGB9LhOlOnveW/0Tsxdvi7n/PbusHTFF6iASgpYzdkNCCSMj4QrQgTgo1cJwQbuU4INnKdEGzkOiHYyHVCsJHrhGAj1wnBRq4Tgo1cJwQbuU4INnKdEGzkOiHYyHVCsPkfkRGolUHX0JgAAAAASUVORK5CYII=" 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,此类是给 ...
随机推荐
- UVALive 5881 Unique Encryption Keys (DP)
Unique Encryption Keys 题目链接: http://acm.hust.edu.cn/vjudge/problem/26633 Description http://7xjob4.c ...
- ACM之最短路径做题笔记与记录
在这里纪念一下从4月开始一直因为事情而荒废了的最短路,多亏了jbb的帮助,我才完成了FZU热身赛一题简单的一个用模拟链表存边以及最短路径的学习,目前(6.5)已经学会使用了最简单的djstral与sp ...
- 51Nod 1405 树的距离之和 (树dp)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1405 中文题面不解释了,两次dfs,第一次自下向上,第二次自上 ...
- HDU 3853LOOPS(简单概率DP)
HDU 3853 LOOPS 题目大意是说人现在在1,1,需要走到N,N,每次有p1的可能在元位置不变,p2的可能走到右边一格,有p3的可能走到下面一格,问从起点走到终点的期望值 这是弱菜做的第 ...
- StructLayout特性
StructLayout特性 公共语言运行库利用 StructLayoutAttribute控制类或结构的数据字段在托管内存中的物理布局,即类或结构需要按某种方式排列.如果要将类传递 ...
- sql server转移tempdb数据库的物理存放位置
转移前将原来的文件备份一下 将 tempdb 从其在磁盘上的当前位置移动到其他磁盘位置.由于每次启动 MSSQLSERVER 服务时都会重新创建 tempdb,因此不需要从物理意义上移动数据和日志 ...
- extjs表格下的分页条——Ext.grid.Panel 的 pagingtoolbar
两种分页条:每页固定条数的分页条 和 自定义选择每页内容条数的分页条 一.每页固定条数的分页条 这种样式的-- dockedItems: [{ xtype: 'pagingtoolbar', stor ...
- Java利用Math.random()方法随机生成A-Z的字符
package reverse; import java.text.DecimalFormat; public class Reverse { public static void main(Stri ...
- 负载均衡LVS集群详解
一.LB--负载均衡 在负载均衡集群中需要一个分发器,我们将其称之为Director,它位于多台服务器的上面的中间层,根据内部锁定义的规则或调度方式从下面的服务器群中选择一个以此来进行响应请求,而其 ...
- Setting up Nutch 2.1 with MySQL to handle UTF-8
原文地址: http://nlp.solutions.asia/?p=180 These instructions assume Ubuntu 12.04 and Java 6 or 7 instal ...