java8编写的日期工具类

本文介绍了一套基于Java8的时间操作工具方法,包括获取指定日期的周一和周日、两个日期之间的差值、指定月份和年份的天数、时间的秒值和毫秒值等实用功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于java8的时间类编写的一些常用的时间工具方法:

1、获取指定日期对应的周一和周日的时间

2、获取两个指定日期之间的差值

3、获取指定日期对应月份的天数

4、获取指定日期对应年份的天数

5、获取指定时间对应的秒值

6、获取指定时间对应的毫秒值

package com.hock.synctest;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
public class TimesUntils {
	public static DateTimeFormatter dtfDate = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
	public static void main(String[] args) {
		String date1="2019-02-07 00:00:00";
		String  date2="2019-01-22 00:00:00";
	    System.out.println("周一的时间"+getDateofWeekFirstDay(date1)[0]+"\n周日的时间"+getDateofWeekFirstDay(date1)[1]); 
	    System.out.println(date1+"与"+date2+"相差"+getDateDiff(date1, date2));    
	    System.out.println("本月一共有"+getDayOfMonth(date1)+"天");
	    System.out.println("本年一共有"+getDayOfYear(date1)+"天");
	    System.out.println("当前时间对应秒值:"+getDateOfSecond(date1));
	    System.out.println("当前时间对应毫秒值:"+getDateOfMills(date1));    
	}
	

	
	/***
	 *  获取两个日期相差的天数
	 * @param date1
	 * @param date2
	 * @return
	 */
	public static String getDateDiff(String date1,String date2) {
		
		LocalDate begin = (LocalDateTime.parse(date1, dtfDate)).toLocalDate();
		LocalDate end = LocalDateTime.parse(date2, dtfDate).toLocalDate();
		String daysdiff=(end.toEpochDay()-begin.toEpochDay())+"";
		return daysdiff;
	}
   
   /**
    *  获取指定日期的周一和周天的时间
    * @param date1
    * @return
    */
	public static String[] getDateofWeekFirstDay(String date1) {
		LocalDate dates = (LocalDateTime.parse(date1, dtfDate)).toLocalDate();
		LocalDate Monday = dates.with(DayOfWeek.MONDAY);
		LocalDate Sunday = dates.with(DayOfWeek.SUNDAY);
		String[] weeks= {Monday.toString(),Sunday.toString()};
		return weeks;
	}	
	
	/***
	 *  获当月有多少天
	 * @param date1
	 * @param date2
	 * @return
	 */
	public static String getDayOfMonth(String date1) {
		LocalDate begin = (LocalDateTime.parse(date1, dtfDate)).toLocalDate();
		int lengthOfMonth = begin.lengthOfMonth();
		return lengthOfMonth+"";
	}
	
	
	/***
	 *  获当年有多少天
	 * @param date1
	 * @param date2
	 * @return
	 */
	public static String getDayOfYear(String date1) {
		LocalDate begin = (LocalDateTime.parse(date1, dtfDate)).toLocalDate();
		int lengthOfYear = begin.lengthOfYear();
		return lengthOfYear+"";
	}
	
	
	
	/***
	 *  获取指定时间对应的秒值
	 * @param date1
	 * @param date2
	 * @return
	 */
	public static Long getDateOfSecond(String date1) {
		LocalDateTime begin = LocalDateTime.parse(date1, dtfDate);
		Long Second =begin.toEpochSecond(ZoneOffset.of("+8"));
		return Second;
	}
	
	/***
	 *  获取指定时间对应的秒值
	 * @param date1
	 * @param date2
	 * @return
	 */
	public static Long getDateOfMills(String date1) {
		LocalDateTime begin = LocalDateTime.parse(date1, dtfDate);
		Long Mills =begin.toInstant(ZoneOffset.of("+8")).toEpochMilli();
		return Mills;
	}	
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值