import java.text.DateFormatSymbols;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Locale; public class Main { /**
* 打印出日历表格
*/
public static void main(String[] args) { GregorianCalendar d = new GregorianCalendar();
int today = d.get(Calendar.DAY_OF_MONTH); //今天是当月的几号
int month = d.get(Calendar.MONTH); //现在是第几月(因为从0开始算所以得到的月份要加个1)
d.set(Calendar.DAY_OF_MONTH,1);//将d设置为这个月的第一天
int weekday = d.get(Calendar.DAY_OF_WEEK); int firstDayOfWeek = d.getFirstDayOfWeek(); 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(); 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 = 1;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); if(weekday != firstDayOfWeek) System.out.println();
} }

效果:

最新文章

  1. 标准盒子模型和IE盒子模型
  2. Oracle笔记2-数据库设计
  3. iOS 播放GIF动态图片!!!!!
  4. Web应用程序或者WinForm程序 调用 控制台应用程序及参数传递
  5. javascript对象转化为基本数据类型规则
  6. 如何用 Parse 和 Swift 搭建一个像 Instagram 那样的应用?(2)
  7. WPF常用数据绑定控件集合
  8. async:false同步请求,浏览器假死
  9. CAS SSO对手机应用支持的一种思路
  10. .NET获取机器信息
  11. IE兼容性标签和条件注释
  12. opencv中的vs框架中的Blob Tracking Tests的中文注释。
  13. 分享:纯 css 瀑布流 和 js 瀑布流
  14. Using PL/SQL APIs as Web Services
  15. Android之Lottie动画详解
  16. python 将本地目录暴露为http服务
  17. 使用docker-compose部署nginx
  18. MD5算法工具类
  19. Python---高级函数map, filter, zip, enumerate等的用法
  20. asp.net web api集成微信服务(使用Senparc微信SDK)- z

热门文章

  1. thinkphp中JS文件不能写__ROOT__变量
  2. Linux内核实践之工作队列
  3. DevExpress控件之GridControl、GridView
  4. Spring中如何配置事务
  5. OpenCV2学习笔记(十五):利用Cmake高速查找OpenCV函数源代码
  6. IO流(一)File类
  7. Git简明操作
  8. 单例模式 - GCD 、兼容ARC和MRC
  9. zabbix监控端口
  10. CSS遮罩层,全兼容