百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

java 日期常用辅助类(java 日期函数)

toyiye 2024-09-03 22:32 1 浏览 0 评论

输助类支持功能:

1.字符串与日期之间的相互转化

2.时间戳与日期的转化

3.日期添加月、天、日、小时、秒等功能

4.日期当前月有多少天

5.日期当前周第一天与最后一天

6.日期当前月第一天与最后一天

7.其它功能

package com.demo.test.utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateUtil {
	
	//时间格式化定义
	public static final String DATE_FMT="yyyy-MM-dd";
	public static final String DATE_HM_FMT="yyyy-MM-dd HH:mm";
	public static final String DATE_TIME_FMT="yyyy-MM-dd HH:mm:ss";
	public static final String DATE_NO_SPACE_FMT="yyyyMMdd";
	public static final String DATE_TIME_NO_SPACE_FMT="yyyyMMddHHmmss";
	
	/**
	 * 得到当前日期/时间字符串
	 * 
	 * @return 返回日期/时间字符串
	 */
	public static String getNowDateTimeString(String type) {
		Date date = new Date();
		SimpleDateFormat formattxt = new SimpleDateFormat(type);
		return formattxt.format(date);
	}
	
	public static String getTimeStringByDate(Date d, String type) {
 SimpleDateFormat formattxt = new SimpleDateFormat(type);
 return formattxt.format(d);
 }
	
	/**
	 * 日期转化为字符串 
	 * @param date 日期
	 * @param type 日期格式
	 * @return
	 */
	public static String getDateTimeString(Date date,String type) {
		SimpleDateFormat formattxt = new SimpleDateFormat(type);
		return formattxt.format(date);
	}
	
	/**
	 * 字符串转化为日期
	 * @param dateStr 时间字符串
	 * @param fmt 日期格式
	 * @return
	 */
	public static Date parse(String dateStr, String fmt) {
 SimpleDateFormat sdf = new SimpleDateFormat(fmt);
 try {
 if (dateStr != null) {
 return sdf.parse(dateStr);
 }
 } catch (ParseException e) {
 }
 return new Date();
 }
	
	public static int getTodatRemainingTime() {
 String nowStr = getNowDateTimeString(DATE_TIME_FMT);
 String endStr = nowStr.substring(0, 10) + " 23:59:59";
 return DateUtil.getTimeDelta(nowStr, endStr);
 }
	
	/**
	 * 两个时间相差秒数
	 * @param dateStr1
	 * @param dateStr2
	 * @return
	 */
	public static int getTimeDelta(String dateStr1, String dateStr2) {
		Date date1 = parse(dateStr1,DATE_TIME_FMT);
		Date date2 = parse(dateStr2,DATE_TIME_FMT);
 long timeDelta = (date1.getTime() - date2.getTime()) / 1000;// 单位是秒
 int secondsDelta = timeDelta > 0 ? (int) timeDelta : (int) Math.abs(timeDelta);
 return secondsDelta;
 }
	
	/**
	 * 日期加月
	 * @param date 时间
	 * @param index 添加几个月
	 * @return
	 */
	public static Date addMonth(Date date, int index) {
		Calendar cal = Calendar.getInstance();
		cal.setTime(date);
		cal.add(Calendar.MONTH, index);
		return cal.getTime();
	}
	
	/**
	 * 日期加天
	 * @param date 时间
	 * @param index 添加天数
	 * @return
	 */
	public static Date addDate(Date date, int index) {
		Calendar cal = Calendar.getInstance();
		cal.setTime(date);
		cal.add(Calendar.DATE, index);
		return cal.getTime();
	}
	
	/**
	 * 日期加秒
	 * @param date 时间
	 * @param index 添加秒数
	 * @return
	 */
	public static Date addSecond(Date date, int index) {
		Calendar cal = Calendar.getInstance();
		cal.setTime(date);
		cal.add(Calendar.SECOND, index);
		return cal.getTime();
	}
	
	/**
	 * 日期加小时
	 * @param date 时间
	 * @param index 添加小时
	 * @return
	 */
	public static Date addHour(Date date, int hour) {
		Calendar cal = Calendar.getInstance();
		cal.setTime(date);
		cal.add(Calendar.HOUR_OF_DAY, hour);
		return cal.getTime();
	}
	
	 /* 
 * (时间戳为秒)将unix时间戳转化为正常显示时间
 */
	public static String timeStamp2Date(String timestampString,String type){ 
	 Long timestamp = Long.parseLong(timestampString)*1000; 
	 String date = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new java.util.Date(timestamp)); 
	 return date; 
	}
	
	 /* 
 * (时间戳为毫秒)将时间戳转换为时间
 */
 public static String stampToDate(String s,String type){
 String res;
 SimpleDateFormat simpleDateFormat = new SimpleDateFormat(type);
 long lt = new Long(s);
 Date date = new Date(lt);
 res = simpleDateFormat.format(date);
 return res;
 }
 
 /***
 * 每周的第一天
 * @param date 时间
 * @param type 格式化类型
 * @return
 */
 public static Date getFirstOfWeekDay(Date date) {
 Calendar cal = Calendar.getInstance();
 cal.setTime(date);
 int d = 0;
 if (cal.get(Calendar.DAY_OF_WEEK) == 1) {
 d = -6;
 } else {
 d = 2 - cal.get(Calendar.DAY_OF_WEEK);
 }
 cal.add(Calendar.DAY_OF_WEEK, d);
 // 所在周开始日期
 // String data1 = new SimpleDateFormat(type).format(cal.getTime());
 //return data1;
 return cal.getTime();
 }
 
 /***
 * 每周的最后一天
 * @param date 时间
 * @param type 格式化类型
 * @return
 */
 public static Date getLastOfWeekDay(Date date) {
 Calendar cal = Calendar.getInstance();
 cal.setTime(date);
 int d = 0;
 if (cal.get(Calendar.DAY_OF_WEEK) == 1) {
 d = -6;
 } else {
 d = 2 - cal.get(Calendar.DAY_OF_WEEK);
 }
 cal.add(Calendar.DAY_OF_WEEK, d+6);
 // 所在周结束日期
 // String data1 = new SimpleDateFormat(type).format(cal.getTime());
 // return data1;
 return cal.getTime();
 }
 
 /**
 * 获取当前日期月的最大天数
 * @param date
 * @return
 */
 	public static int getDaysOfMonth(Date date) {
 		Calendar calendar = Calendar.getInstance();
 		calendar.setTime(date);
 		return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
 	}
 
 /**
 * 获取当前日期月第一天
 * @param date
 * @return
 */
 public static Date getDateMonthFirstDay(Date date){
 	
 	//获取实例
 	Calendar calendarInstance = Calendar.getInstance();
 	//设置时间
 	calendarInstance.setTime(date);
 	
 	 //获取某月最小天数
 int firstDay = calendarInstance.getActualMinimum(Calendar.DAY_OF_MONTH);
 //设置日历中月份的最小天数
 calendarInstance.set(Calendar.DAY_OF_MONTH, firstDay);
 return calendarInstance.getTime();
 }
 
 /**
 * 获取当前日期月最后一天
 * @param date
 * @return
 */
 public static Date getDateMaxMonthDay(Date date){
 	
 	//获取实例
 	Calendar calendarInstance = Calendar.getInstance();
 	//设置时间
 	calendarInstance.setTime(date);
 	
 	//获取某月最大天数
 int lastDay = calendarInstance.getActualMaximum(Calendar.DAY_OF_MONTH);
 //设置日历中月份的最大天数
 calendarInstance.set(Calendar.DAY_OF_MONTH, lastDay);
 
 return calendarInstance.getTime();
 }
}

相关推荐

# Python 3 # Python 3字典Dictionary(1)

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如...

Python第八课:数据类型中的字典及其函数与方法

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值...

Python中字典详解(python 中字典)

字典是Python中使用键进行索引的重要数据结构。它们是无序的项序列(键值对),这意味着顺序不被保留。键是不可变的。与列表一样,字典的值可以保存异构数据,即整数、浮点、字符串、NaN、布尔值、列表、数...

Python3.9又更新了:dict内置新功能,正式版十月见面

机器之心报道参与:一鸣、JaminPython3.8的热乎劲还没过去,Python就又双叒叕要更新了。近日,3.9版本的第四个alpha版已经开源。从文档中,我们可以看到官方透露的对dic...

Python3 基本数据类型详解(python三种基本数据类型)

文章来源:加米谷大数据Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在Python中,变量就是变量,它没有类型,我们所说的"类型"是变...

一文掌握Python的字典(python字典用法大全)

字典是Python中最强大、最灵活的内置数据结构之一。它们允许存储键值对,从而实现高效的数据检索、操作和组织。本文深入探讨了字典,涵盖了它们的创建、操作和高级用法,以帮助中级Python开发...

超级完整|Python字典详解(python字典的方法或操作)

一、字典概述01字典的格式Python字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。字典的每个键值key=>value对用冒号:分割,每个对之间用逗号,...

Python3.9版本新特性:字典合并操作的详细解读

处于测试阶段的Python3.9版本中有一个新特性:我们在使用Python字典时,将能够编写出更可读、更紧凑的代码啦!Python版本你现在使用哪种版本的Python?3.7分?3.5分?还是2.7...

python 自学,字典3(一些例子)(python字典有哪些基本操作)

例子11;如何批量复制字典里的内容2;如何批量修改字典的内容3;如何批量修改字典里某些指定的内容...

Python3.9中的字典合并和更新,几乎影响了所有Python程序员

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

Python3大字典:《Python3自学速查手册.pdf》限时下载中

最近有人会想了,2022了,想学Python晚不晚,学习python有前途吗?IT行业行业薪资高,发展前景好,是很多求职群里严重的香饽饽,而要进入这个高薪行业,也不是那么轻而易举的,拿信工专业的大学生...

python学习——字典(python字典基本操作)

字典Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度。但它是无序的,包含的元素个数不限,值...

324页清华教授撰写【Python 3 菜鸟查询手册】火了,小白入门字典

如何入门学习python...

Python3.9中的字典合并和更新,了解一下

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

python3基础之字典(python中字典的基本操作)

字典和列表一样,也是python内置的一种数据结构。字典的结构如下图:列表用中括号[]把元素包起来,而字典是用大括号{}把元素包起来,只不过字典的每一个元素都包含键和值两部分。键和值是一一对应的...

取消回复欢迎 发表评论:

请填写验证码