当前位置: 首页 > wzjs >正文

中国物流网官方网站公司宣传网站制作

中国物流网官方网站,公司宣传网站制作,广州网站建设排名,电子商务静态网站建设心得Java中的日期类 Date类LocalDateTime类创建LocalDateTime对象1 获取当前时间2 获取自己指定时间3 字符串创建日期 获取当前日期的信息1获取当前日期的年月日 时分秒2 获取当前日期周几\当年第几天\当月第几天3 获取当前⽇期所在周的周⽇和周⼀ 日期的运算1日期加减天数2 日期加…

Java中的日期类

  • Date类
  • LocalDateTime类
    • 创建LocalDateTime对象
      • 1 获取当前时间
      • 2 获取自己指定时间
      • 3 字符串创建日期
    • 获取当前日期的信息
      • 1获取当前日期的年月日 时分秒
      • 2 获取当前日期周几\当年第几天\当月第几天
      • 3 获取当前⽇期所在周的周⽇和周⼀
    • 日期的运算
      • 1日期加减天数
      • 2 日期加减周数
      • 3日期加减月份
      • 4日期加减年份
    • 日期之间的比较
      • 1两日期是否相同
      • 1一个日期在指定日期之前还是之后

前言
在编程的世界中,处理日期和时间是一个不可避免的需求。无论是记录事件发生的时间、计算时间间隔,还是进行日历相关的操作,日期和时间的处理都是开发过程中不可或缺的一部分。而提到Java中的日期处理Date类是一个绕不开的话题,但是其有一些局限性,因此Java创建了另一个LocalDateTime类


Date类

Date类是Java早期版本中⽤于表⽰⽇期和时间的类,表示时间精确到毫秒

Date()
Date(int year,int month,int date)
Date(int year,int month,int date,int hrs,int min)
Date(int year,int month,int date,int hrs,int min,int sec)
Date(String s)
上面是Date类的五种构造方法

在这里插入图片描述

public class Test {public static void main(String[] args) {Date date = new Date();Date date1 = new Date(125,3,2);Date date2 = new Date(125,3,2,1,2);Date date3 = new Date(2025,3,2,1,1,1);System.out.println("无参的构造 "+date);System.out.println("3个参数的构造 "+date1);System.out.println("5个参数的构造 "+date2);System.out.println("6个参数的构造 "+date3);}
}
日期的计算方法
Date(int year,int month,int date)
Date date1 = new Date(125,4,5);
1.这里的Date类时间是从1900年开始计算,也就是这里输出的结果是year+1900,也就是这里的2025
2.month月分也不是本身,这里的0表示1月,1表示2月,以此类推,month+1才是打印的月份,这里4表示就是53.这里的天数不变就是date
4.输出结果中的CST表示的是时区
4.这里如果是无参的就获取当前时间包括时间
5.带参数的如果没有传入时间,这里会默认为0

运行结果如下
在这里插入图片描述

在这里插入图片描述
在编写的时候,这个关键字就出现了一条横杠,这里表示的是这个类的这个方法已经过时了,但是还是可以使用,因为这个方法使用的不方便,Java创造了一个新的类LocalDateTime类来处理时间

LocalDateTime类

static LocalDateTime now()获取默认当前时间
getYear获取年份
getMonth使用月份枚举类获取月份
getDayOfMonth获取日期在该月是第几天
getDayOfWeek获取日期是星期几
getDayOfYear获取日期在该年是第几天
getHour获取小时
getMinute获取分钟
getSecond获取秒
plusYears增加年
plusMonths增加月
plusWeeks增加周
plusDays增加天
plusHours增加小时
plusMinutes增加分
plusSeconds增加秒
minusYears减少年
minusMonths减少月
meminusWeeks减少周
minusDays减少天
minusHours减少小时
minusMinutes减少分
minusSeconds减少秒
isEqual判断日期时间是否相等

创建LocalDateTime对象

下面是其部分源码
可以发现这里的LocalDateTime是被final修饰的是不可以new新对象的,其内部的方法是被static修饰的可以直接使用类名进行访问
在这里插入图片描述

1 获取当前时间

static LocalDateTime now()
获取当前时间

public class Test {public static void main(String[] args) {LocalDateTime nowTime = LocalDateTime.now();System.out.println("当前时间为:"+nowTime);}
}

运行结果如下
这里的时间是精确到毫秒的
在这里插入图片描述

2 获取自己指定时间

static LocalDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second,intnanoOfSecond)
获取自己创建的时间

public class Test {public static void main(String[] args) {LocalDateTime localDateTime = LocalDateTime.of(2025,3,1,9,30);LocalDateTime localDateTime1 = LocalDateTime.of(2025,4,5,9,31,1,1);System.out.println(localDateTime1);System.out.println(localDateTime);}
}

在这里插入图片描述
这里的结果和Date不同,没写时分秒它就不会显示,只会显示你写的
这里是一直可以显示到毫秒,但是在创建对象的时候最少要创建到分钟,因为其方法最少就是5个参数

3 字符串创建日期

public class Test {public static void main(String[] args) {String stringDate = "2025-03-21 09:30:21";//创建⼀个⽇期时间格式化器DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");LocalDateTime date = LocalDateTime .parse(stringDate,dateTimeFormatter);System.out.println("当前⽇期为: "+date);}
}

运行结果如下
这里将这个字符串日期进行打印成日期的格式
在这里插入图片描述

获取当前日期的信息

1获取当前日期的年月日 时分秒

int getYear()//获取年
nt getMonthValue()//获取月
int getDayOfMonth()//获取当前月的第几天
int getHour()//获取小时
int getMinute()//获取分钟
int getSecond()//获取秒
返回值都是int

public class Test {public static void main(String[] args) {LocalDateTime localDateTime = LocalDateTime.of(2025,3,2,9,30,1);int year = localDateTime.getYear();int month = localDateTime.getMonthValue();int day = localDateTime.getDayOfMonth();int hour = localDateTime.getHour();int minute = localDateTime.getMinute();int second = localDateTime.getSecond();System.out.println("年:"+year);System.out.println("月:"+month);System.out.println("日:"+day);System.out.println("时:"+hour);System.out.println("分:"+minute);System.out.println("秒:"+second);}
}

运行结果如下
这里的确获取成功了
在这里插入图片描述

2 获取当前日期周几\当年第几天\当月第几天

在这里插入图片描述

int getDayOfYear()//获取日期是当年的多少天
int getDayOfMonth()//获取日期是当月的多少天
DayOfWeek getDayOfWeek()//获取日期是本周的周几

public class Test {public static void main(String[] args) {LocalDateTime localDateTime = LocalDateTime.now();//获取当前时间System.out.println("当前时间为:"+localDateTime);DayOfWeek dayOfWeek = localDateTime.getDayOfWeek();//获取周几int dayofyear = localDateTime.getDayOfYear();int dayofmonth = localDateTime.getDayOfMonth();System.out.println("日期是当年的第几天 "+dayofyear);System.out.println("日期是当月的第几天 "+dayofmonth);System.out.println("当天周几 "+dayOfWeek);}
}

运行结果如下
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
这里相差4天,说明今天是本月的第5天,相差94天,说明今天是本年的第95天

3 获取当前⽇期所在周的周⽇和周⼀

public class Test {public static void main(String[] args) {LocalDateTime localDateTime = LocalDateTime.now();System.out.println("当前时间"+localDateTime+" "+localDateTime.getDayOfWeek());//向前或后找周一LocalDateTime firstDayofweek = localDateTime.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));LocalDateTime firstDayofweek1 = localDateTime.with(TemporalAdjusters.nextOrSame(DayOfWeek.MONDAY));//向前或后找周日LocalDateTime lastDayofWeek = localDateTime.with(TemporalAdjusters.previousOrSame(DayOfWeek.SUNDAY));LocalDateTime lastDayofWeek1 = localDateTime.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));System.out.println("向前面找周一 "+firstDayofweek);System.out.println("向后面找周一 "+firstDayofweek1);System.out.println("向前面面找周日 "+lastDayofWeek);System.out.println("向后面面找周日 "+lastDayofWeek1);}
}
LocalDateTime with(TemporalAdjuster adjuster) 返回此日期时间的调整副本
previousOrSame 在当前日期或者之前找最近的自己所指定的周几
nextOrSame  在当前日期或者之后找最近的自己所指定的周几
自己根据自己的需求来进行查找

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/617c3cb2a0214a22a6e697b55e0ff43
e.png)

如果自己想要获取当前周的周一和周日的话,就要根据今天周几来选择从前或者从后

public class Test {public static void main(String[] args) {LocalDateTime localDateTime = LocalDateTime.now();System.out.println("当前时间"+localDateTime+" "+localDateTime.getDayOfWeek());//向前或后找周一LocalDateTime firstDayofweek = localDateTime.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));LocalDateTime lastDayofWeek1 = localDateTime.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));System.out.println("向前面找周一 "+firstDayofweek);System.out.println("向后面面找周日 "+lastDayofWeek1);}
}

这里的日期是周六,因此自己向前找周一,向后找周日,这样才是本周的
运行结果如下
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6257f44892f6419e96655f68255d855c.p

日期的运算

1日期加减天数

LocalDateTime plusDays(long days) //往后days天
LocalDateTime minusDays(long days) //往前days天

public class Test {public static void main(String[] args) {LocalDateTime nowdate = LocalDateTime.now();LocalDateTime newdateplus = nowdate.plusDays(1);LocalDateTime newdateminus = nowdate.minusDays(1);System.out.println("当前时间:"+nowdate);System.out.println("向前一天的日期:"+ newdateminus);System.out.println("向后一天的日期:"+newdateplus);}
}

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/2bdeb6f9ac624d938d643455f9a726dd.png

2 日期加减周数

LocalDateTime plusWeeks(long weeks)//往后weeks周
LocalDateTime minusWeeks(long weeks)//往前weeks周

public class Test {public static void main(String[] args) {LocalDateTime localDateTime = LocalDateTime.now();LocalDateTime newdateplus = localDateTime.plusWeeks(1);LocalDateTime newdateminus = localDateTime.minusWeeks(1);System.out.println("当前时间:"+localDateTime);System.out.println("往前一周"+newdateminus);System.out.println("往后一周"+newdateplus);}
}

在这里插入图片描述

3日期加减月份

LocalDateTime plusMonths(long nanos)
LocalDateTime minusMonths(long months)

public class Test {public static void main(String[] args) {LocalDateTime localDateTime = LocalDateTime.now();LocalDateTime newdateplus = localDateTime.plusMonths(1);LocalDateTime newdateminus = localDateTime.minusMonths(1);System.out.println("当前时间:"+localDateTime);System.out.println("往前一月"+newdateminus);System.out.println("往后一月"+newdateplus);System.out.println("================================");//这里如果3月最后一天,往前月日期是多少呢LocalDateTime localDateTime1 = LocalDateTime.of(2024,3,31,1,1);LocalDateTime newdateplus1 = localDateTime1.plusMonths(1);LocalDateTime newdateminus1 = localDateTime1.minusMonths(1);System.out.println("当前时间:"+localDateTime1);System.out.println("往前一月"+newdateminus1);System.out.println("往后一月"+newdateplus1);}
}

运行结果如下
在这里插入图片描述

这里编译器不是简单的加减一个月,它也会做处理的,就像这里的2024-3-31向前一个月,这里的二月并没有31天,因此编译器会向前到2月的最后一天,并不是31天

4日期加减年份

LocalDateTime plusYears(long years) //往后years年
LocalDateTime minusYears(long years) //往前years年

public class Test {public static void main(String[] args) {LocalDateTime localDateTime = LocalDateTime.of(2024,2,29,1,1);LocalDateTime newdateplus = localDateTime.plusYears(1);LocalDateTime newdateminus = localDateTime.minusYears(1);System.out.println("当前时间:"+localDateTime);System.out.println("往前一年"+newdateminus);System.out.println("往后一年"+newdateplus);}
}

运行结果如下
在这里插入图片描述
从这个结果中可以看出,编译器并不是简单的年份相加减,就像这里的2024年是闰年2月有29天,让其2月最后一天进行向前或向后一年,这里的2023和2025都不是闰年,所以这里往前往后2月只有28天,因此,这里向前或向后编译器会进行判断和处理

日期之间的比较

1两日期是否相同

boolean isEqual(ChronoLocalDateTime<?> other)
判断两个日期是否相同

public class Test {public static void main(String[] args) {LocalDateTime localDateTime = LocalDateTime.of(2024,2,2,1,1);LocalDateTime localDateTime1 = LocalDateTime.of(2024,2,2,1,1);LocalDateTime localDateTime2 = LocalDateTime.of(2025,2,2,1,1);//判断两个日期是否相同boolean bool = localDateTime.isEqual(localDateTime1);//相同boolean bool1 = localDateTime.isEqual(localDateTime2);//不相同System.out.println(bool);System.out.println(bool1);}
}

在这里插入图片描述

1一个日期在指定日期之前还是之后

boolean isAfter(ChronoLocalDateTime<?> other) 检查此日期时间是否在指定的日期时间之后

boolean isBefore(ChronoLocalDateTime<?> other)检查此日期时间是否在指定的日期时间之前

public class Test {public static void main(String[] args) {LocalDateTime localDateTime = LocalDateTime.of(2024,2,2,1,1);LocalDateTime localDateTime1 = LocalDateTime.of(2025,2,2,1,1);//判断两个日期是否相同boolean bool = localDateTime.isBefore(localDateTime1);//前一个是否在后一个之前boolean bool1 = localDateTime.isAfter(localDateTime1);//前一个是否在后一个之后System.out.println(bool);System.out.println(bool1);}
}

第一个日期在第二个之前
所以这里的bool返回true,bool1返回false
在这里插入图片描述

http://www.dtcms.com/wzjs/188507.html

相关文章:

  • 做动态网站广州网站优化公司如何
  • 资阳aso优化招聘余姚关键词优化公司
  • 有没有专门做数据分析的网站seo网站优化快速排名软件
  • 商业网站建设平台电商培训内容有哪些
  • 如何利用问答类网站做推广最近的国际新闻
  • 学做网站多少钱网络搜索关键词
  • jsp网站项目搜外网 seo教程
  • 怎样让网站显示网站建设中百度账号客服人工电话
  • 创意礼品私人定制seo整站优化方案
  • 怎么做淘宝客优惠券网站广州网站seo推广
  • 外卖网站建设文档推广项目的平台
  • 在360网站上怎么做推广站长工具关键词
  • 佛山网站开发公司手机端关键词排名优化软件
  • 网站怎么做引流新平台推广赚钱
  • 厦门网站建设阿里爱站关键词
  • 河南网站备案地址网上销售平台怎么做
  • 做欧美网站seo的主要工作内容
  • 临沂网站制作哪家靠谱东莞网站推广运营公司
  • 香港做批发的网站有哪些成都百度推广排名优化
  • 西安做推广网站设计百度站长工具怎么关闭教程视频
  • 水果电商网站开发方案内容营销
  • 可以接项目做的网站推广找客户平台
  • 做用户运营应该关注哪些网站南通百度seo代理
  • 遵义市住房城乡建设局网站免费建站免费网站
  • 江门企业网站建设北京营销推广公司
  • 做网站最快多久网站制作软件
  • 网站建设课设总结安卓优化大师hd
  • 建设网站软件下载搜索引擎排名中国
  • 金融理财网站源码百度竞价员
  • 修改wordpress 字体何鹏seo