Java的日期时间类是我一直想吐槽的。Date.getYear()这么好用的方法为什么要标记为deprecated?然后换成Calendar、LocalDateTime也不见得有多好用。总之是反人类的。写一个好用的日期时间类就那么困难吗?创造Java的大师们肯定比我厉害,但依然阻止不了我想骂人的想法。
package aaa;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* 好用的日期类
* 1 清除时间部分 clearTime()
* 2 加日期 加小时 addDate(2) addHours(2)
* 3 字符串转日期时间 parseString(s) parseString(s, format)
* 4 日期时间转字符串 toString() toString(format) toDateString() toTimeString()
* 5 获取日期时间各个部分
* 6 设置日期时间各个部分
* 7 日期相减 dateDiff(d)
*
* @author 医手
*/
public class MyDate extends Date {
public static void main(String[] args) {
MyDate d = new MyDate();
System.out.println(d); // 2020-03-20 08:56:14
System.out.println(d.toString("yyyy年MM月dd日")); // 2020年03月20日
d.parseString("2006-01-02 13:04:05");
System.out.println(d); // 2006-01-02 13:04:05
System.out.println(d.getYear()); // 2006
System.out.println(d.getMonth()); // 1 1月为1
System.out.println(d.getDate()); // 2
System.out.println(d.getDay()); // 1 星期天为0 星期一为1
System.out.println(d.getHours()); // 13
System.out.println(d.getMinutes()); // 4
System.out.println(d.getSeconds()); // 5
d.setYear(2019);
d.setMonth(6);
d.setDate(16);
d.setHours(19);
d.setMinutes(26);
d.setSeconds(33);
System.out.println(d); // 2019-06-16 19:26:33
d.addDate(2);
d.addHours(2);
System.out.println(d); // 2019-06-18 21:26:33
d.setDate(2006, 1, 2);
d.setTime(13, 4, 5);
System.out.println(d); // 2006-01-02 13:04:05
d.clearTime();
System.