这篇文章主要介绍“Java中常用时间的相关方法有哪些”,在日常操作中,相信很多人在Java中常用时间的相关方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中常用时间的相关方法有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
public static void main(String[] args) {
//Date
Date now = new Date();
System.out.println(now);
//java8的时间
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println(localDateTime);
Calendar calendar = Calendar.getInstance();
Date time = calendar.getTime();
System.out.println(time);
System.out.println("年" + calendar.get(Calendar.YEAR));
System.out.println("月" + (calendar.get(Calendar.MONTH) + 1));
//joda time
DateTime dateTime = DateTime.now();
System.out.println(dateTime);
}
获取当前时间可以使用Date LocalDatetime Calendar Datetime
public static void main(String[] args) {
//建议使用Calendar 可以设置年月日时分秒
Calendar calendar = Calendar.getInstance();
////当月16
calendar.set(Calendar.DAY_OF_MONTH, 16);
System.out.println(calendar.getTime());
//当月16
DateTime now = DateTime.now();
DateTime dateTime = now.withDayOfMonth(16);
System.out.println(dateTime);
//当月14
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println(localDateTime.withDayOfMonth(14));
//1月11
System.out.println(localDateTime.withMonth(1).withDayOfMonth(11));
}
```
//使用SimpleDateFormat
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(format.format(new Date()));
//使用Calendar
Calendar calendar = Calendar.getInstance();
System.out.println(String.format("%s年%s月%s日%s时%s分%s秒", calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH) + 1, calendar.get(Calendar.DAY_OF_MONTH),
calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), calendar.get(Calendar.SECOND)));
LocalDateTime now = LocalDateTime.now();
String str = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
System.out.println(str);
```
public static void main(String[] args) {
Date now = new Date();
//加一小时
long time = now.getTime() + (60 * 60 * 1000);
System.out.println(new Date(time));
/*
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.14</version>
</dependency>
*/
//引入Hutool 加一小时
System.out.println(DateUtil.offset(now, DateField.HOUR, 1));
//减一小时
System.out.println(DateUtil.offset(now, DateField.HOUR, -1));
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println("加一小时" + localDateTime.plusHours(1));
System.out.println("减一小时" + localDateTime.minusHours(1));
DateTime dateTime = DateTime.now();
System.out.println(dateTime.plusHours(1));
System.out.println(dateTime.minusHours(1));
}
LocalDateTime和DateTime都自带增加和减少时间的方法
public static void main(String[] args) {
//时间1990-12-05
DateTime birthDay = DateTime.now().withYear(1990).withMonthOfYear(10).withDayOfMonth(23);
System.out.println(birthDay);
//获取相差得年 会进行月份和日期比较 如
Years years = Years.yearsBetween(birthDay, new DateTime());
System.out.println(years);
System.out.println(years.getYears());
}
还可以使用年份相减,再比较月,日的方法得到生日
public static void main(String[] args) {
DateTime now = DateTime.now();
DateTime start1 = now;
DateTime end1 = now.plusMinutes(1);
DateTime start2 = now.plusSeconds(50);
DateTime end2 = now.plusMinutes(2);
Interval interval1 = new Interval(start1, end1);
Interval interval2 = new Interval(start2, end2);
System.out.println(interval1.overlaps(interval2));
System.out.println(start1.getMillis() < end2.getMillis() && start2.getMillis() < end1.getMillis());
}
public static void main(String[] args) {
DateTime now = DateTime.now();
//开始时间
Date startTime = now.toDate();
//结束时间
Date endTime = now.plusHours(1).toDate();
//1小时
System.out.println("开始时间与结束时间的时间间隔:" + DateUtil.between(startTime, endTime, DateUnit.SECOND));
long time = (endTime.getTime() - startTime.getTime()) / 1000;
System.out.println(time);
}
public static void main(String[] args) throws ParseException {
Date now = new Date();
Date utcDate = bj2UTC(now);
//utc时间
System.out.println(utcDate);
//北京时间
System.out.println(utc2BJ(utcDate));
DateTime dateTime = DateTime.now().withDayOfMonth(1).withHourOfDay(0).withMinuteOfHour(0).withSecondOfMinute(0);
System.out.println(dateTime);
System.out.println(bj2UTC(dateTime.toDate()));
}
public static Date bj2UTC(Date date) {
if (date == null) {
return null;
}
LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.of("-8"));
return Date.from(localDateTime.atOffset(ZoneOffset.UTC).toInstant());
}
public static Date utc2BJ(Date date) {
if (date == null) {
return null;
}
LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.of("+8"));
return Date.from(localDateTime.atOffset(ZoneOffset.UTC).toInstant());
}
北京时间=UTC+8
到此,关于“Java中常用时间的相关方法有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。