java 打印日历
简介
示例代码
Result
Mon Tue Wed Thu Fri Sat Sun
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23* 24 25 26
27 28 29 30 31
和 windows 里面的完全一致
简要分析
package test1;
import java.time.*;
public class CalendarTest {
public static void main(String[] args){
LocalDate date = LocalDate.now(); // 得到当前时间
int month = date.getMonthValue(); // 得到当前月份
int today = date.getDayOfMonth(); // 得到当前日期是这个月的第几天
date = date.minusDays(today - 1); // 得到当前月份的第一天
DayOfWeek weekday = date.getDayOfWeek(); // 得到当前月份第一天是第几周
int value = weekday.getValue(); // 得到当前月份第一天是这一周的第几天
System.out.println("Mon Tue Wed Thu Fri Sat Sun");
for(int i=1; i<value; i++){
System.out.print(" "); // 打印前置 空格
}
while(date.getMonthValue() == month){
System.out.printf("%3d", date.getDayOfMonth()); // 输出从这个月的第一天到这个月的月底
if(date.getDayOfMonth() == today) { //如果是当前日期的话输出一个*
System.out.print("*");
}else{
System.out.print(" ");
}
date = date.plusDays(1); // date++
if(date.getDayOfWeek().getValue() == 1) System.out.println();// 得到第一天换行
}
if (date.getDayOfWeek().getValue() != 1) System.out.println(); // 得到月末 换行
}
}
java 打印日历的更多相关文章
- 使用java 打印日历
package hangshu; /* * 打印从1900年到2.year年的日历 */ import java.util.Scanner; public class Calender { publi ...
- java打印日历
打个日历,写了半天,感情水平真菜, 不过主要是不会数组,明天一定要把数组看了 package demo; import java.util.Scanner; public class Demo { / ...
- 用java打印日历
来自<java核心技术卷一> /** * Created by wangbin10 on 2019/1/3. * 打印当月日历 */ public class CalendarTest { ...
- Python学习实践-----打印日历
使用python语言实现在控制台打印日历 输入年.月.日 输出对应日历,指定的日数输出为'--' 程序没有做严格的输入验证,故输入整数即可. 以下为没有优化的源码: print_calendar.py ...
- Java 打印金字塔 or 打印带数字的金字塔 (Java 学习中的小记录)
Java 打印金字塔 or 打印带数字的金字塔 (Java 学习中的小记录) 作者:王可利(Star·星星) 效果图: 代码如下: class Star8 { public static void m ...
- 关于这两天研究Java打印pdf方法的记录
这两天在研究Java调用打印机打印PDF文件的方法,学到了不少东西,特别来记录一下. 关于Java打印网上最多的而且也是Java正统的打印方法就是使用PrintService,一套比較标准的打印代码例 ...
- java打印正金字塔,倒金字塔和“水影”金字塔
java打印正金字塔,倒金字塔和"水影"金字塔 --------原创文章,若要转载,请注明出处 小小少年 闲来无事,想起自己初学java的时候做的经典的无非就是打印出一些有意思 ...
- Java打印
Java打印 import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Gra ...
- Oracle打印日历功能
Oracle用SQL打印日历 1.1 打印当月日历 , D, NULL)) SUN, , D, NULL)) MON, , D, NULL)) TUE, , D, NULL)) WED, , D, ...
- Java 打印程序设计实例
3.1 打印文本 3.1.1 应用场景 假设我们需要打印一个窗体的某个文本编辑域(可能只有几行,也可能包含多页)的内容,并且每页最多打印 54 行,如何实现呢? 3.1.2 解决方法 基本思路如下:首 ...
随机推荐
- PHP连MYSQL查询结果中文乱码的完美解决方法
问题背景:近日接手同事的一个项目(wampserver环境),配置好环境,导库完毕,打开页面一看中文全是问号.打开network看了下请求,请求结果里的中文也一样乱码了.懵逼... 解决方法:打开My ...
- 基于 OT-JSON 与 Immer 设计低代码/富文本场景的状态管理方案
在复杂应用中,例如低代码.富文本编辑器的场景下,数据结构的设计就显得非常重要,这种情况下的状态管理并非是redux.mobx等通用解决方案,而是需要针对具体场景进行定制化设计,那么在这里我们来尝试基于 ...
- MySQL开启general_log
General_log 详解 1.介绍 开启 general log 将所有到达MySQL Server的SQL语句记录下来. 一般不会开启开功能,因为log的量会非常庞大.但个别情况下可能会临时的开 ...
- Vue 3 双向绑定 API defineModel 解析
defineModel defineModel是 Vue 3.4 正式加入的 API 了.它可以简化组件间双向绑定的操作,在自定义表单类组件中非常有用. 以前的自定义双向绑定 defineModel可 ...
- ESP32S3 BLE_HID的编程实现
ESP32S3 BLE_HID的编程实现 BLE是低功耗蓝牙,HID是Human Interface Device,也就是人机接口设备. 主要用于无线连接并传输用户输入数据(如按键.触控.手势等). ...
- windows 隐藏桌面了解此图片
1. 桌面上有了解此图片图标无法删除 这是因为在windows背景设置中选择了Window聚焦. 如果想关闭可以选择其他选项.如果不想关闭Window聚焦还想隐藏桌面了解此图片图标,可以参考下面设置. ...
- rust程序静态编译的两种方法总结
1. 概述 经过我的探索,总结了两种rust程序静态编译的方法,理论上两种方法都适用于windows.mac os和linux(mac os未验证),实测方法一性能比方法二好,现总结如下,希望能够帮到 ...
- MySQL之"数据库中没有就创建,有就修改"ON DUPLICATE KEY UPDATE
一.场景 当你想存入一条数据到扩展表中(主表下附表),但这个扩展表并非一定会创建,就会让其工程逻辑复杂化 (也就是说:有可能创建主表数据的同时不会创建扩展表数据,这样就会照成你想修改的时候,扩展表本身 ...
- 工具:河马 WebShell扫描器 for Linux 使用教程
安装教程: 1.下载 访问https://www.shellpub.com官方网站 2.选择适合您的版本 cat /proc/version linux 64位选择 linux amd64linux ...
- AtCoder Beginner Contest 369 补题记录
A - 369 题意: 给定A和B,求有多少个x可以和A,B构成等差数列 思路: 分三种情况讨论 A == B 则x不得不与A和B想等 x位于A和B中间 只有B - A 为偶数才有这种情况存在 x位于 ...