日期时间工具

简介: 本文提供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;

}


相关文章
|
JavaScript 前端开发 Serverless
Vue.js的介绍、原理、用法、经典案例代码以及注意事项
Vue.js的介绍、原理、用法、经典案例代码以及注意事项
|
4月前
|
人工智能 自然语言处理 安全
Claude Code Routines:给你的代码装上“自动巡航“
Routines 是 Claude 的可编程自动化代理,支持定时、API 和 GitHub webhook 三种触发方式,将重复开发任务(如修 Bug、更新文档、安全审查)转为 AI 驱动的云端流水线,解放开发者专注高价值工作。
581 1
|
8月前
|
存储 人工智能 自然语言处理
企业如何选择合适的智能客服系统?关键考量因素全解析
2025年智能客服选型需聚焦企业实际需求,从技术能力、场景适配、数据安全与成本控制四大维度综合评估。大模型驱动下,系统已实现类真人交互与主动服务,企业应根据规模与行业特性选择:电商可选探域、瓴羊;跨国企业关注Salesforce、华为云;中小企业优选Freshdesk等轻量化方案,实现降本增效。
企业如何选择合适的智能客服系统?关键考量因素全解析
|
弹性计算 运维 安全
阿里云无影云电脑详细介绍(原无影云桌面)
阿里云无影云电脑详细介绍(原无影云桌面),什么是阿里云无影云电脑?无影云电脑(原云桌面)是一种快速构建、高效管理桌面办公环境,无影云电脑可用于远程办公、多分支机构、安全OA、短期使用、专业制图等使用场景,阿里云百科分享无影云桌面的详细介绍、租用价格、云电脑的优势、使用场景、网络架构、无影云电脑与云服务器的区别以及关于无影云电脑的常见问题解答FAQ
1770 0
|
开发框架 安全 .NET
网络空间安全之一个WH的超前沿全栈技术深入学习之路(1-1):渗透测试行业术语扫盲)作者——LJS
网络空间安全之一个WH的超前沿全栈技术深入学习之路(1-1):渗透测试行业术语扫盲)作者——LJS
|
C语言
C语言中的无参函数
C语言中的无参函数
1337 1
|
Java 程序员 API
Android 编译插桩操纵字节码
Android 编译插桩操纵字节码
494 0
|
存储 算法 Java
Android 进阶——代码插桩必知必会&ASM7字节码操作
Android 进阶——代码插桩必知必会&ASM7字节码操作
1742 0
|
Kotlin
找不到 kotlinx.android.synthetic***
找不到 kotlinx.android.synthetic***
757 0