时间相关的处理

本文详细介绍了Java中日期时间的获取、格式化及操作方法,包括使用Calendar类获取年、月、日等信息,利用SimpleDateFormat进行日期格式化,并演示了如何通过Calendar类实现日期加减运算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ⅰ、当前时间的获取

Calendar  calendar= Calendar.getInstance();
System.currentTimeMillis();
Date date = new Date();

一、Calendar类

Calendar  calendar= Calendar.getInstance();

获取年、月、日、星期等:

// 年份  
int year = calendar.get(Calendar.YEAR);  
int month = calendar.get(Calendar.MONTH) + 1; //月份是从0开始的,0-11
int day = calendar.get(Calendar.DATE);  
int hour = calendar.get(Calendar.HOUR);  
int minute = calendar.get(Calendar.MINUTE);  
int second = calendar.get(Calendar.SECOND); 

// 本周几  
int week = calendar.get(Calendar.DAY_OF_WEEK);  

// 今年的第 N 天  
int DAY_OF_YEAR = calendar.get(Calendar.DAY_OF_YEAR);  

// 本月第 N 天  
int DAY_OF_MONTH = calendar.get(Calendar.DAY_OF_MONTH);  

// 3小时以后  
calendar.add(Calendar.HOUR_OF_DAY, 3);  
int HOUR_OF_DAY = calendar.get(Calendar.HOUR_OF_DAY);  

// 当前分钟数  
int MINUTE = calendar.get(Calendar.MINUTE);  

// 15 分钟以后  
calendar.add(Calendar.MINUTE, 15);  
MINUTE = calendar.get(Calendar.MINUTE);  

// 30分钟前  
calendar.add(Calendar.MINUTE, -30);  
MINUTE = calendar.get(Calendar.MINUTE);  

// 获取当前月的天数
int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);

获取间隔时间的方法:

// 间隔天数
long val = calendarEnd.getTimeInMillis() - calendarBegin.getTimeInMillis(); 
int days = (int) (val / (1000 * 60 * 60 * 24));

// Date()方法
int day = (int)(date1.getTime() - date2.getTime()) / (1000 * 60 * 60 * 24));

获取明天、昨天的方法:

//昨天
Calendar calendar = Calendar.getInstance(); 
calendar.setTime(new Date()); 
calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 1);

//明天
calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) + 1);

Date date = calendar.getTime();

Ⅱ、format方法
一、SimpleDateFormat

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

二、DateFormat

DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
DateFormat shortFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);  
        DateFormat mediumFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);  
        DateFormat longFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);  
        DateFormat fullFormat = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);  
11-7-19 下午3:33  
2011-7-19 15:33:54  
2011年7月19日 下午03时33分54秒  
2011年7月19日 星期二 下午03时33分54秒 CST
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值