java学习笔记:日期Date

一、Date

java.util.Date

创建Date对象 Date():使用当前时间构建Date对象

Date(long date):参数是距离1950.1.1.00:00:00

Date date1 = new Date();

System.out.println("时间为:"+date1);

Date date2=new Date(2019*10*11*21*12*56*12);

System.out.println("时间为:"+date2);

System.out.println("日期比较结果为:"+date1.compareTo(date2));

二、SimpleDateFormat

自定义日期风格

工具:帮助对格式进行转换

Date date3= new Date();当前系统时间

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-MM-dd-HH:mm:ss");

1.format方法:把指定的日期对象转换成指定格式的字符串

String date3str = simpleDateFormat.format(date3);
System.out.println("转换后的日期:"+date3str);

2.parse方法:将指定的字符串类型的日期转换成日期对象
String dateStrInp = "2001-03-22-23:12:43";
try {
    Date date = simpleDateFormat.parse(dateStrInp);
    System.out.println("格式化后的日期为:"+date);
} catch (ParseException e) {
    System.out.println("字符串不符合日期格式,无法转换");
    e.printStackTrace();
}

 三、Calendar方法

建议使用Calendar代替date

使用默认时区和语言环境获得日期对象

1.创建Caledar对象,直接通过提供的静态方法实现
Calendar calendar1 = Calendar.getInstance();
System.out.println("1-----"+calendar1);
System.out.println("年份为:"+calendar1.get(Calendar.YEAR));

得到的月份值为0-11之间
System.out.println("月份为:"+calendar1.get(Calendar.MARCH)+1);
System.out.println("日为:"+calendar1.get(Calendar.DAY_OF_MONTH));
System.out.println("小时为:"+calendar1.get(Calendar.HOUR));
System.out.println("分钟为:"+calendar1.get(Calendar.MINUTE));
System.out.println("秒数为:"+calendar1.get(Calendar.SECOND));

2.设置日历中的相关信息

Calendar calendar2 = Calendar.getInstance();
calendar2.set(Calendar.YEAR,2002);
calendar2.set(Calendar.MARCH,12);
calendar2.set(Calendar.DAY_OF_MONTH,23);
calendar2.set(Calendar.MINUTE,45);
calendar2.set(Calendar.HOUR,8);
calendar2.set(Calendar.SECOND,56);
calendar2.set(2013,12,12,23,14,14);
System.out.println("2-----"+calendar2);
验证
System.out.println("年份为:"+calendar2.get(Calendar.YEAR));
得到的月份值为0-11之间
System.out.println("月份为:"+calendar2.get(Calendar.MARCH)+1);
System.out.println("日为:"+calendar2.get(Calendar.DAY_OF_MONTH));
System.out.println("小时为:"+calendar2.get(Calendar.HOUR));
System.out.println("分钟为:"+calendar2.get(Calendar.MINUTE));
System.out.println("秒数为:"+calendar2.get(Calendar.SECOND));

3.gettime()方法,将calendar对象转换为date

SimpleDateFormat simpleDateFormat1=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");

String calendarDateSter = simpleDateFormat1.format(calendar2.getTime());
System.out.println("3-----"+calendarDateSter);

4.LocalDate方法

LocalDate localDate1 = LocalDate.now();
System.out.println(localDate1);

LocalDate localDate2 = LocalDate.of(2020,12,11);
System.out.println("4-----"+localDate2.getYear());

5.LocalTime方法:只能用于表示时间

LocalTime localTime1 = LocalTime.now();
System.out.println(localTime1);
LocalTime localTime2 = LocalTime.of(21,12,12);
System.out.println("时:"+localTime2.getHour());

6.LocalDateTime方法:同时包含时间和日期

LocalDateTime dateTime2 = LocalDateTime.of(2020,12,2,12,12,12);
System.out.println("日期时间:"+dateTime2);
System.out.println("时:"+dateTime2.getHour());

 四、字符串和日期之间转化

String dateStr1= "2001-11-12";
LocalDate localDateParse1 = LocalDate.parse(dateStr1);
System.out.println(localDateParse1);

String timestr1 = "11:34:56";
LocalTime localTimeParse1= LocalTime.parse(timestr1);
System.out.println(localTimeParse1);

String datetimeStr1 = "2021-12-12T11:12:12";
LocalDateTime localDateTimeParse1 = LocalDateTime.parse(datetimeStr1);
System.out.println(localDateTimeParse1);

1.创建DateTimeFormatter对象
ofFattern(String pattern) 指定转换模式字符串

String dateStr2="2001年10月23日";
DateTimeFormatter dtf1= DateTimeFormatter.ofPattern("yyyy年MM月dd日");
LocalDate localDateParse2 = LocalDate.parse(dateStr2,dtf1);
System.out.println(localDateParse2);

String timeStr2= "12时34分45秒";
DateTimeFormatter dtf= DateTimeFormatter.ofPattern("HH时mm分ss秒");
LocalTime localTimeParse2= LocalTime.parse(timeStr2,dtf);
System.out.println(localTimeParse2);

String datetimeStr2 = "2021/10/23 12时34分44秒";
DateTimeFormatter dtf3 = DateTimeFormatter.ofPattern("yyyy/MM/dd HH时mm分ss秒");
LocalDateTime dateTimeparse3 = LocalDateTime.parse(datetimeStr2,dtf3);
System.out.println(dateTimeparse3);

2.将日期时间转换成字符串

LocalDate localDate = LocalDate.now();
LocalTime localTime = LocalTime.now();
LocalDateTime localDateTime = LocalDateTime.now();

System.out.println(localDate+"----格式化后的日期为:"+localDate.format(dtf1));
System.out.println(localTime+"-----格式化后的日期为:"+localTime.format(dtf));
System.out.println(localDateTime+"-----格式化后的日期为:"+localDateTime.format(dtf3));

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值