Java时间处理详解:日期与时间转换
"这篇文章主要介绍了Java中处理时间的常见方法,包括使用Date、Calendar类以及SimpleDateFormat进行日期和时间的转换、格式化和计算。" 在Java编程中,时间处理是一项重要的任务,尤其是在处理日期计算、格式化和比较时。Java提供了多种类来支持这些操作,其中最常用的是`Date`、`Calendar`和`SimpleDateFormat`。 1. `Date`类是Java中用于表示特定瞬间的时间点,精确到毫秒。创建一个`Date`对象可以表示当前时间: ```java Date date = new Date(); ``` 但是,`Date`类的构造函数已经被废弃,推荐使用`Instant.now()`或`LocalDateTime.now()`(需要Java 8及以上版本)。 2. `Calendar`类是一个抽象基类,用于处理日历字段,如年、月、日等。它可以用来获取或设置日期的各个部分,并进行日期的加减操作: ```java Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, 2023); calendar.set(Calendar.MONTH, Calendar.JANUARY); calendar.set(Calendar.DAY_OF_MONTH, 1); int lastDayOfMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); ``` 这里,`Calendar.getInstance()`用于获取当前区域的`Calendar`实例,`set()`方法用来设置年、月等字段,`getActualMaximum()`则用于获取给定月份的最大天数。 3. `SimpleDateFormat`是一个具体的类,用于日期和时间的格式化与解析。它允许我们定义日期和时间的输出格式,例如: ```java SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String formattedTime = df.format(date); ``` 这段代码会将`Date`对象格式化为"年-月-日 时:分:秒"的字符串。 4. 日期计算和星期计算: - 要获取某日期是一年中的第几周,可以使用`Calendar.WEEK_OF_YEAR`字段: ```java int weekNumber = calendar.get(Calendar.WEEK_OF_YEAR); ``` - 要设置日期为某年的第一周,可以先设置`WEEK_OF_YEAR`字段,然后调整年份: ```java calendar.set(Calendar.WEEK_OF_YEAR, 1); calendar.set(Calendar.YEAR, 2006); ``` 以上就是Java中处理时间的一些基本操作。在实际开发中,为了更好的可读性和可维护性,Java 8引入了`java.time`包,包含`LocalDate`、`LocalTime`、`LocalDateTime`等类,它们提供了更现代且易于使用的API,建议优先考虑使用。
用户名: 密码: 登录 注册 程通的百度小屋
程通的百度小屋期待你的光临 期待与你的互动 属于我的精彩 此空间永不衰败 我所有的百度好友 正是因为有你们的支持 我的空间才变得有活力 谢谢你们同时希望和借博客这平台和各位网友一起学习、完善自己、还有交朋友!主页博客相册个人档案好友查看文章 JAVA中date()方法常用集合
2011-07-18 11:31
JAVA中date()方法常用集合
计算某一月份的最大天数
Calendar time=Calendar.getInstance();
time.clear();
time.set(Calendar.YEAR,year); //year 为 int
time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0
int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数
注:在使用set方法之前,必须先clear一下,否则很多信息会继承自系统当前时间
2.Calendar和Date的转化
(1) Calendar转化为Date
Calendar cal=Calendar.getInstance();
Date date=cal.getTime();
(2) Date转化为Calendar
Date date=new Date();
Calendar cal=Calendar.getInstance();
cal.setTime(date);
3.格式化输出日期时间 (这个用的比较多)
Date date=new Date();
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println(time);
4.计算一年中的第几星期
(1)计算某一天是一年中的第几星期
Calendar cal=Calendar.getInstance();
cal.set(Calendar.YEAR, 2006);
cal.set(Calendar.MONTH, 8);
cal.set(Calendar.DAY_OF_MONTH, 3);
int weekno=cal.get(Calendar.WEEK_OF_YEAR);
(2)计算一年中的第几星期是几号
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
Calendar cal=Calendar.getInstance();
cal.set(Calendar.YEAR, 2006);
cal.set(Calendar.WEEK_OF_YEAR, 1);
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
System.out.println(df.format(cal.getTime()));
输出:
2006-01-02
5.add()和roll()的用法(不太常用)
(1)add()方法
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
Calendar cal=Calendar.getInstance();
cal.set(Calendar.YEAR, 2006);
cal.set(Calendar.MONTH, 8);
cal.set(Calendar.DAY_OF_MONTH, 3);
剩余8页未读,继续阅读
- 粉丝: 9
- 资源: 113
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 深入理解23种设计模式
- 制作与调试:声控开关电路详解
- 腾讯2008年软件开发笔试题解析
- WebService开发指南:从入门到精通
- 栈数据结构实现的密码设置算法
- 提升逻辑与英语能力:揭秘IBM笔试核心词汇及题型
- SOPC技术探索:理论与实践
- 计算图中节点介数中心性的函数
- 电子元器件详解:电阻、电容、电感与传感器
- MIT经典:统计自然语言处理基础
- CMD命令大全详解与实用指南
- 数据结构复习重点:逻辑结构与存储结构
- ACM算法必读书籍推荐:权威指南与实战解析
- Ubuntu命令行与终端:从Shell到rxvt-unicode
- 深入理解VC_MFC编程:窗口、类、消息处理与绘图
- AT89S52单片机实现的温湿度智能检测与控制系统