日期时间工具

简介: 本文提供Java日期处理工具类参考,涵盖常见日期操作:获取开始/结束时间、日期加减、周数计算、星期转换、时间格式化与解析、天数差计算等实用方法,适用于日常开发中的时间处理需求。

引包参考

分钟转小时获取当天开始/结束时间获取昨天开始/结束时间获取明天开始/结束时间获取某个日期的开始/结束时间获取本周的开始/结束时间获取上周开始/结束时间获取今年是哪一年获取本月是哪一月获取本月的开始/结束时间获取上月的开始/结束时间获取本年的开始/结束时间两个日期相减得到的天数/毫秒数获取当前日期前/后几个月的日期获取两个日期中的最大/最小日期获取某月该季度的第一个月 获取某个日期之后/之前几天的日期Date转StringString转DateCST时间类型字符串格式化输出long转Date当前日期是否在[startDate, endDate]区间两个日期间的间隔天数闰年判断美国时间格式 两个日期是否在同一周  获取星期几

Java

运行代码复制代码

import org.springframework.stereotype.Component;


import java.sql.Timestamp;

import java.text.ParseException;

import java.text.ParsePosition;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Calendar;

import java.util.Date;

import java.util.GregorianCalendar;

import java.util.List;

import java.util.Locale;

import java.util.Random;


/**

* 根据一个日期,返回是星期几的字符串

* @param sdate

* @return

*/

public static String getWeek(String sdate) {

// 再转换为时间

Date date = strToDate(sdate);

Calendar c = Calendar.getInstance();

c.setTime(date);

// int hour=c.get(Calendar.DAY_OF_WEEK);

// hour中存的就是星期几了,其范围 1~7

// 1=星期日 7=星期六,其他类推

return new SimpleDateFormat("EEEE").format(c.getTime());

}


/**

* 根据一个日期,返回是星期几的字符串

* @param sdate

* @return

*/

public static String getWeekStr(String sdate){

String str = "";

str = getWeek(sdate);

if("1".equals(str)){

str = "星期日";

}else if("2".equals(str)){

str = "星期一";

}else if("3".equals(str)){

str = "星期二";

}else if("4".equals(str)){

str = "星期三";

}else if("5".equals(str)){

str = "星期四";

}else if("6".equals(str)){

str = "星期五";

}else if("7".equals(str)){

str = "星期六";

}

return str;

}

两个时间之间的天数

Java

运行代码复制代码

public static Date getBeginDayOfTomorrow(){

   // 开始

   Calendar cal=Calendar.getInstance();

   cal.setTime(getDayBegin());//当天开始时间

   cal.add(Calendar.DAY_OF_MONTH, 1);//当天月份天数加1

   return cal.getTime();

 

   // 结束

   Calendar cal=Calendar.getInstance();

   cal.setTime(getDayEnd());//当天结束时间

   cal.add(Calendar.DAY_OF_MONTH, 1);//当天月份天数加1

   return cal.getTime();

}


/**

* 两个时间之间的天数

* @param date1

* @param date2

* @return

*/

public static long getDays(String date1, String date2) {

if (date1 == null || date1.equals(""))

return 0;

if (date2 == null || date2.equals(""))

return 0;

// 转换为标准时间

SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");

java.util.Date date = null;

java.util.Date mydate = null;

try {

date = myFormatter.parse(date1);

mydate = myFormatter.parse(date2);

} catch (Exception e) {

}

long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);

return day;

}


相关文章
|
13天前
|
数据采集 人工智能 安全
|
8天前
|
编解码 人工智能 自然语言处理
⚽阿里云百炼通义万相 2.6 视频生成玩法手册
通义万相Wan 2.6是全球首个支持角色扮演的AI视频生成模型,可基于参考视频形象与音色生成多角色合拍、多镜头叙事的15秒长视频,实现声画同步、智能分镜,适用于影视创作、营销展示等场景。
656 4
|
8天前
|
机器学习/深度学习 人工智能 前端开发
构建AI智能体:七十、小树成林,聚沙成塔:随机森林与大模型的协同进化
随机森林是一种基于决策树的集成学习算法,通过构建多棵决策树并结合它们的预测结果来提高准确性和稳定性。其核心思想包括两个随机性:Bootstrap采样(每棵树使用不同的训练子集)和特征随机选择(每棵树分裂时只考虑部分特征)。这种方法能有效处理大规模高维数据,避免过拟合,并评估特征重要性。随机森林的超参数如树的数量、最大深度等可通过网格搜索优化。该算法兼具强大预测能力和工程化优势,是机器学习中的常用基础模型。
350 164
|
7天前
|
机器学习/深度学习 自然语言处理 机器人
阿里云百炼大模型赋能|打造企业级电话智能体与智能呼叫中心完整方案
畅信达基于阿里云百炼大模型推出MVB2000V5智能呼叫中心方案,融合LLM与MRCP+WebSocket技术,实现语音识别率超95%、低延迟交互。通过电话智能体与座席助手协同,自动化处理80%咨询,降本增效显著,适配金融、电商、医疗等多行业场景。
359 155