Java 基础 -- 日期 时间

Date 和 SimpleDateFormat的常用方法:

System.currentTimeMillis(); // 获取当前时间到1970-01-01:00:00:00的毫秒数

Date date = new Date(); // 获取当前时间 Thu Oct 29 11:46:35 CST 2020

System.out.println(date.getTime()); // 将当前时间对象转化为毫秒数 1603943327016

Date date1 = new Date(1603943327016L); // 获取指定毫秒数的Date对象 Thu Oct 29 11:46:35 CST 2020


SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 将日期对象转换成日期字符串
String format = sdf.format(new Date());
System.out.println(format); // 2020-10-29 16:22:26

try {
  Date date2 = sdf.parse("2020-10-29 16:22:26"); // 将日期字符串转换成日期对象
  System.out.println(date2); // Thu Oct 29 16:22:26 CST 2020
} catch (ParseException e) {
  e.printStackTrace();
}

LocalDate,LocalTime,LocalDateTime常用方法:

LocalDate localDate = LocalDate.now(); // 获取当前日期 2020-10-29
System.out.println(localDate);

LocalTime localTime = LocalTime.now(); // 获取当前时间 20:38:46.067 精确到毫秒
System.out.println(localTime);

LocalDateTime localDateTime = LocalDateTime.now(); // 获取当前日期和时间 2020-10-29T20:38:46.067
System.out.println(localDateTime);

// 获取指定日期时间 2020-11-22T23:59:59
LocalDateTime localDateTime1 = LocalDateTime.of(2020, 11, 22, 23, 59, 59);
System.out.println(localDateTime1);

// getXxx()
int dayOfYear = localDateTime.getDayOfYear(); // 获取指定日期是一年中的第几天
System.out.println(dayOfYear);

int dayOfMonth = localDateTime.getDayOfMonth();// 获取指定日期是一月中的第几天
System.out.println(dayOfMonth);

DayOfWeek dayOfWeek = localDateTime.getDayOfWeek(); // 获取指定日期是星期几 THURSDAY
System.out.println(dayOfWeek);

int year = localDateTime.getYear(); // 获取年份 2020
System.out.println(year);

Month month = localDateTime.getMonth(); // 获取月份 OCTOBER
System.out.println(month);

int monthValue = localDateTime.getMonthValue(); // 获取月份 10 注意这里的月份不需要加1
System.out.println(monthValue);

int hour = localDateTime.getHour(); // 获取小时
int minute = localDateTime.getMinute(); // 获取分钟
int second = localDateTime.getSecond(); // 获取秒


// withXxx() 重新设置年,月,日,时,分,秒等。这些方法会返回新的LocalDateTime对象,原先的LocalDateTime对象的值不变
LocalDateTime localDateTime2 = localDateTime.withYear(2021);
System.out.println(localDateTime); // 2020-10-29T21:03:18.567
System.out.println(localDateTime2); // 2021-10-29T21:03:18.567

DateTimeFormatter常用方法:

DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

String format = dateTimeFormatter.format(LocalDateTime.now()); // 将LocalDateTime对象格式化成指定格式 2020-10-29 22:19:29
System.out.println(format);

TemporalAccessor parse = dateTimeFormatter.parse("2020-10-29 22:19:29"); // 将指定格式的日期时间字符串转换成日期时间 {},ISO resolved to 2020-10-29T22:19:29
System.out.println(parse);

Calendar 日历类:

Calendar calendar = Calendar.getInstance();
calendar.get(Calendar.DAY_OF_MONTH); // 当前是这个月的第几天

// 将日历类转换成日期对象
Date date2 = calendar.getTime();

/**
 * 将指定日期转换成日历类
 * 注意:
 * 1. 获取的月份时,1月是0,2月是1,依次类推,所以通常都会加1
 * 2. 获取星期时:星期日是1,星期六是7
*/
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
try {
    Date date3 = sdf2.parse("2020-11-22");
    calendar.setTime(date3);

    System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
} catch (ParseException e) {
    e.printStackTrace();
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值