使用JAVA写一个简单的日历

时间:2022-02-07 01:46:06

JAVA写一个简单的日历
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;

/**
* 制作一个简单的日历
*
* @author 这知识它不进脑子呀
*
*/
public class date {

public static void main(String[] args) {
// 从控制台输入
Scanner scanner = new Scanner(System.in);
// 提示用户
System.out.println("请输入日期(如:2019-5-16):");
// 获取输入的日期
String date = scanner.nextLine();
try {
// 日期格式化类
DateFormat dFormat = new SimpleDateFormat("yyyy-MM-dd");
// 把字符串类型的日期转换为date类型的
Date parse = dFormat.parse(date);
// 创建一个公历类的实例
Calendar calendar = new GregorianCalendar();
// 把格式化好的日期对象放进Calendar
calendar.setTime(parse);
// 获取今天是几号
int day = calendar.get(Calendar.DATE);
// DATE设置成这个月的一号
calendar.set(Calendar.DATE, 1);
// 获取这个月的第一天是周几
int weekDay = calendar.get(Calendar.DAY_OF_WEEK);
// 获取每个月最大的天数
int maxDay = calendar.getActualMaximum(Calendar.DATE);

System.out.println("日\t一\t二\t三\t四\t五\t六");

// 循环打印 空格
for (int i = 1; i < weekDay; i++) {
System.out.print("\t");
}
// 循环打印天数
for (int i = 1; i <= maxDay; i++) {
// 判断如果i 等于 今天 前面打印一个❀做记号
if (i == day) {
System.out.print("❀");
}
// 打印 天数
System.out.print(i + "\t");
// 获取今天是周几
int w = calendar.get(Calendar.DAY_OF_WEEK);
// 如果今天是周六就让其换行
if (w == Calendar.SATURDAY) {
System.out.println();
}
// 天数自增
calendar.add(Calendar.DATE, 1);
}
} catch (ParseException e) {
e.printStackTrace();
}
}

}

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71

---------------------

使用JAVA写一个简单的日历的更多相关文章

  1. Java写一个简单学生管理系统

    其实作为一名Java的程序猿,无论你是初学也好,大神也罢,学生管理系统一直都是一个非常好的例子,初学者主要是用数组.List等等来写出一个简易的学生管理系统,二.牛逼一点的大神则用数据库+swing来 ...

  2. java返回一个简单的日历

    import java.text.*; //首先得导包 import java.util.*; public class hw2 { /** * 计算日期差 返回的天数 * @param dstr1 ...

  3. js写一个简单的日历

    思路:先写一个结构和样式,然后写本月的时间,之后计算上下月份的关系 <!DOCTYPE html> <html lang="en"> <head&gt ...

  4. 用JAVA写一个简单的英文加密器

    package qhs; import java.util.Scanner; public class JiaM { public static void main(String[] args) { ...

  5. 使用Java编写一个简单的Web的监控系统cpu利用率,cpu温度,总内存大小

    原文:http://www.jb51.net/article/75002.htm 这篇文章主要介绍了使用Java编写一个简单的Web的监控系统的例子,并且将重要信息转为XML通过网页前端显示,非常之实 ...

  6. (2)自己写一个简单的servle容器

    自己写一个简单的servlet,能够跑一个简单的servlet,说明一下逻辑. 首先是写一个简单的servlet,这就关联到javax.servlet和javax.servlet.http这两个包的类 ...

  7. 学了编译原理能否用 Java 写一个编译器或解释器?

    16 个回答 默认排序​ RednaxelaFX JavaScript.编译原理.编程 等 7 个话题的优秀回答者 282 人赞同了该回答 能.我一开始学编译原理的时候就是用Java写了好多小编译器和 ...

  8. 使用springboot写一个简单的测试用例

    使用springboot写一个简单的测试用例 目录结构 pom <?xml version="1.0" encoding="UTF-8"?> &lt ...

  9. 利用SpringBoot&plus;Logback手写一个简单的链路追踪

    目录 一.实现原理 二.代码实战 三.测试 最近线上排查问题时候,发现请求太多导致日志错综复杂,没办法把用户在一次或多次请求的日志关联在一起,所以就利用SpringBoot+Logback手写了一个简 ...

随机推荐

  1. RelativeLayout&lowbar;布局

    RelativeLayout布局 android:layout_marginTop="25dip" //顶部距离 android:gravity="left" ...

  2. 博客中 Flex4&sol;Flash mp3音乐播放器实例 含演示地址

    要求 必备知识 本文要求基本了解 Adobe Flex编程知识和JAVA基础知识. 开发环境 MyEclipse10/Flash Builder4.6/Flash Player11及以上 演示地址 演 ...

  3. hdu 2881 Jack&&num;39&semi;s struggle(DP)

    对于所有的任务所在的地点按照时间排序,可以将其看成是一道非常简单的“天上掉馅饼”的题的二维版本. 将这些任务看成从天而降的馅饼,统计有哪些之前馅饼掉落的位置可以在两者时间差内到达该点的点,取其最大值. ...

  4. build&sol;envsetup&period;sh内lunch解析

    ........ # 测试device是否存在且是一个目录 并且 只查找device目录4层以上的子目录,名字为vendorsetup.sh 并且 将命令执行的错误报告直接送往回收站 不显示在屏幕上 ...

  5. acm课程练习2--1013(同1014)

    题目描述 There is a strange lift.The lift can stop can at every floor as you want, and there is a number ...

  6. 基于jquery 的分页插件,前端实现假分页效果

    上次分享了一款jquery插件,现在依旧分享这个插件,不过上一次分享主要是用于regular框件,且每一页数据都是从后端获取过来的,这一次的分享主要是讲一次性获取完数据 然后手动进行分页.此需求基本上 ...

  7. spring boot&plus;mybaits&plus;mysql&plus;generato&lpar;逆向工程&rpar;&plus;前后台数据交互

    如按照我博客上没有弄出来 请在下面留言 我好修改 谢谢 小弟使用的是Eclipse 首先下载STS插件 help--->Elipse Marketplace--->find搜索栏里面搜索S ...

  8. MFC半透明对话框

    int CTestDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CDialog::OnCreate(lpCreateStruct) == -1) ...

  9. Linux Centos7&period;x下安装部署VNC的实操详述

    VNC (Virtual Network Console)是虚拟网络控制台的缩写.它 是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发的.VNC 是在基于 UNIX和 Lin ...

  10. HDU 5984&period;Pocky&lpar;2016 CCPC 青岛 C&rpar;

    Pocky Let’s talking about something of eating a pocky. Here is a Decorer Pocky, with colorful decora ...