java日期时间操作工具类
的星期几 * * @param date * 输入日期 yyyy-MM-dd * @return String 星期几,如"星期一" * @throws Exception */ public static String getWeekOfDate(String date) throws Exception { DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date dt = df.parse(date); Calendar c = Calendar.getInstance(); c.setTime(dt); int weekDay = c.get(Calendar.DAY_OF_WEEK) - 1; if (weekDay < 0) { weekDay = 7; } String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}; return weekDays[weekDay]; } /** * 将日期转换为指定格式的字符串 * * @param date * 需要转换的日期 * @param format * 日期格式,如"yyyy-MM-dd HH:mm:ss" * @return String 格式化后的日期字符串 */ public static String dateToString(Date date, String format) { if (date == null || format == null) { return ""; } SimpleDateFormat sdf = new SimpleDateFormat(format); return sdf.format(date); } /** * 将字符串转换为日期对象 * * @param dateStr * 日期字符串 * @param format * 日期格式,如"yyyy-MM-dd HH:mm:ss" * @return Date 转换后的日期对象 * @throws Exception */ public static Date stringToDate(String dateStr, String format) throws Exception { if (dateStr == null || format == null) { return null; } SimpleDateFormat sdf = new SimpleDateFormat(format); return sdf.parse(dateStr); } /** * 计算两个日期之间的天数差 * * @param date1 * 第一个日期 * @param date2 * 第二个日期 * @return int 两个日期之间的天数差 */ public static int daysBetween(Date date1, Date date2) { if (date1 == null || date2 == null) { return 0; } long diff = date1.getTime() - date2.getTime(); return (int) (diff / (24 * 60 * 60 * 1000)); } /** * 获取指定日期的月份的第一天 * * @param date * 指定日期 * @return Date 该月第一天的日期 */ public static Date getMonthFirstDay(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.DAY_OF_MONTH, 1); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); return calendar.getTime(); } /** * 获取指定日期的月份的最后一天 * * @param date * 指定日期 * @return Date 该月最后一天的日期 */ public static Date getMonthLastDay(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); calendar.set(Calendar.HOUR_OF_DAY, 23); calendar.set(Calendar.MINUTE, 59); calendar.set(Calendar.SECOND, 59); calendar.set(Calendar.MILLISECOND, 999); return calendar.getTime(); } 在Java中,处理日期和时间通常涉及到`java.util.Date`、`java.util.Calendar`以及`java.text.SimpleDateFormat`等类。`TimeUtil`工具类提供了一些常用的方法,如获取当前系统的小时、分钟和秒,计算日期的前后天数,获取日期所在的星期等。这些方法在处理日常开发中的日期时间操作时非常方便。此外,还提供了将日期转换为字符串和从字符串转换为日期的函数,以及计算两个日期之间天数差的功能。对于更复杂的日期时间操作,例如处理时区和国际化,JDK 1.8引入的`java.time`包提供了更强大的支持,如`LocalDate`、`LocalTime`和`LocalDateTime`等类,它们提供了更简洁和易用的API。然而,`TimeUtil`这样的工具类依然有其价值,特别是在兼容旧代码或简化常见任务时。





















剩余10页未读,继续阅读


- 粉丝: 5
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 现代企业物流管理信息化发展现状及创新研究.docx
- 区块链技术在国内外金融领域应用动态.docx
- 探索中职学校计算机教学中翻转课堂的实践应用.docx
- 全国计算机等级测验一级选择题(含答案).doc
- 高校网络管理体系与防护工作的优化设计方案与研究.doc
- 《软件工程基础》习题集-).doc
- 电气工程自动化发展中存在的问题及完善对策.docx
- 计算机通信与网络课程自主实践环节设计.docx
- 团购网站方案设计书与实现大学本科方案设计书大学本科方案设计书及其点评样稿实例模版.doc
- 浅析电气工程及其自动化的发展现状与展望.docx
- 面向对象软件工程方法学实践.docx
- 基于单片机的电子钟方案设计书02117.doc
- 经济学视角下网络色情蔓延的利益驱动分析.docx
- 大数据背景下高职Hadoop课程内容体系建设.docx
- 探析网络安全的重要性.docx
- rtmp推送aac音频流 Android将麦克风采集的数据推送到服务器(RTMPorRTSP) 采用AudioRecoder收集音频数据MediaCodeC编码AAC,推送到服务器


