Skip to content

Commit ff999a9

Browse files
committed
feat: add java date demo
1 parent 18b86f3 commit ff999a9

6 files changed

Lines changed: 202 additions & 0 deletions

File tree

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@
4747
- [Java 接口](https://www.wdbyte.com/java/interface/)
4848
- [Java 抽象类](https://www.wdbyte.com/java/abstract/)
4949
- [Java 多态](https://www.wdbyte.com/java/polymorphism/)
50+
- [Java Scanner](https://www.wdbyte.com/java/scanner/)
51+
- [Java 日期时间 Date](https://www.wdbyte.com/java/date/)
5052

5153
## 🌿 SpringBoot 2.x 教程
5254

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
package com.wdbyte.date;
2+
3+
import java.text.SimpleDateFormat;
4+
import java.util.Calendar;
5+
import java.util.Date;
6+
7+
/**
8+
* @author niulang
9+
* @date 2023/04/26
10+
*/
11+
public class JavaDateCalc {
12+
public static void main(String[] args) {
13+
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
14+
Date date = new Date();
15+
System.out.println(String.format("当前时间:%s", sdf.format(date)));
16+
date = new JavaDateCalc().addDay(date, 3);
17+
System.out.println(String.format("增加三天:%s", sdf.format(date)));
18+
date = new JavaDateCalc().minDay(date, 1);
19+
System.out.println(String.format("减去一天:%s", sdf.format(date)));
20+
date = new JavaDateCalc().addMonth(date, 2);
21+
System.out.println(String.format("增加两个月:%s", sdf.format(date)));
22+
}
23+
24+
/**
25+
* 增加天数
26+
*
27+
* @param date
28+
* @param addDay
29+
* @return
30+
*/
31+
public Date addDay(Date date, int addDay) {
32+
Calendar cal = Calendar.getInstance();
33+
cal.setTime(date);
34+
cal.add(Calendar.DATE, addDay);
35+
Date newDate = cal.getTime();
36+
return newDate;
37+
}
38+
39+
/**
40+
* 减少天数
41+
*
42+
* @param date
43+
* @param minDay
44+
* @return
45+
*/
46+
public Date minDay(Date date, int minDay) {
47+
Calendar cal = Calendar.getInstance();
48+
cal.setTime(date);
49+
cal.add(Calendar.DATE, -minDay);
50+
Date newDate = cal.getTime();
51+
return newDate;
52+
}
53+
54+
/**
55+
* 增加月份
56+
*
57+
* @param date
58+
* @param addMonth
59+
* @return
60+
*/
61+
public Date addMonth(Date date, int addMonth) {
62+
Calendar cal = Calendar.getInstance();
63+
cal.setTime(date);
64+
cal.add(Calendar.MONTH, addMonth);
65+
Date newDate = cal.getTime();
66+
return newDate;
67+
}
68+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.wdbyte.date;
2+
3+
import java.text.SimpleDateFormat;
4+
import java.util.Calendar;
5+
import java.util.Date;
6+
7+
/**
8+
* @author niulang
9+
* @date 2023/04/26
10+
*/
11+
public class JavaDateCalc2 {
12+
public static void main(String[] args) {
13+
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
14+
Date date = new Date();
15+
System.out.println(String.format("当前时间:%s", sdf.format(date)));
16+
// 三天的毫秒数:3 * 24 * 3600 * 1000
17+
date = new Date(date.getTime() + 3 * 24 * 3600 * 1000);
18+
System.out.println(String.format("增加三天:%s", sdf.format(date)));
19+
20+
date = new Date(date.getTime() - 1 * 60 * 1000);
21+
System.out.println(String.format("减去一分钟:%s", sdf.format(date)));
22+
}
23+
24+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.wdbyte.date;
2+
3+
import java.util.Date;
4+
5+
/**
6+
* @author niulang
7+
* @date 2023/04/25
8+
*/
9+
public class JavaDateCreate {
10+
public static void main(String[] args) {
11+
Date date = new Date();
12+
// 输出时间
13+
System.out.println(date); // Tue Apr 25 20:28:23 CST 2023
14+
// 输出毫秒数
15+
System.out.println(date.getTime()); // 1682425703429
16+
17+
// 当前毫秒数创建对象
18+
//Date date2 = new Date(System.currentTimeMillis());
19+
Date date2 = new Date(1682425703429L);
20+
System.out.println(date2); // Tue Apr 25 20:28:23 CST 2023
21+
}
22+
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package com.wdbyte.date;
2+
3+
import java.text.SimpleDateFormat;
4+
import java.util.Date;
5+
6+
/**
7+
* @author niulang
8+
* @date 2023/04/25
9+
*/
10+
public class JavaDateDiff {
11+
12+
public static void main(String[] args) throws InterruptedException {
13+
// 获取当前时间
14+
Date date1 = new Date();
15+
// 休眠 3 秒
16+
Thread.sleep(3000);
17+
// 再获取一次当前时间
18+
Date date2 = new Date();
19+
20+
// 很明显 date1 在 date2 之前,,所以 true
21+
boolean before = date1.before(date2);
22+
System.out.println(before); // true
23+
24+
// 很明显 date2 在 date1 之后,所以 true
25+
boolean after = date2.after(date1);
26+
System.out.println(after); // true
27+
28+
// date2 不在 date1 之前,所以 false
29+
System.out.println(date2.before(date1)); // false
30+
31+
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
32+
System.out.println("date1:"+sdf.format(date1));
33+
System.out.println("date2:"+sdf.format(date2));
34+
Long diff = date1.getTime() - date2.getTime();
35+
if (diff > 0) {
36+
System.out.println("date1 > date2");
37+
}
38+
if (diff < 0) {
39+
System.out.println("date1 < date2");
40+
}
41+
if (diff == 0) {
42+
System.out.println("date1 = date2");
43+
}
44+
exec();
45+
}
46+
47+
public static void exec() throws InterruptedException {
48+
long start = System.currentTimeMillis();
49+
// 做点什么
50+
Thread.sleep(3000);
51+
long end = System.currentTimeMillis();
52+
System.out.println("耗时:" + (end - start) + "ms");
53+
}
54+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.wdbyte.date;
2+
3+
import java.text.ParseException;
4+
import java.text.SimpleDateFormat;
5+
import java.util.Date;
6+
7+
/**
8+
* @author niulang
9+
* @date 2023/04/25
10+
*/
11+
public class JavaDateFormat {
12+
13+
public static void main(String[] args) throws ParseException {
14+
Date date = new Date();
15+
16+
// 时间格式化,yyyy 年份,MM 月份, dd 当月第多少天, hh:mm:ss 分别为时分秒
17+
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
18+
String formatDate = simpleDateFormat.format(date);
19+
System.out.println(formatDate);
20+
21+
SimpleDateFormat sdf1 = new SimpleDateFormat("当前日期是: yyyy-MM-dd");
22+
SimpleDateFormat sdf2 = new SimpleDateFormat("当前时间是: hh:mm:ss");
23+
System.out.println(sdf1.format(date));
24+
System.out.println(sdf2.format(date));
25+
26+
27+
String strDate = "2023-01-19 10:30:00";
28+
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
29+
Date myDate = sdf.parse(strDate);
30+
System.out.println(sdf.format(myDate));
31+
}
32+
}

0 commit comments

Comments
 (0)