package date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
public class DateOp {
public static void main(String[] args){
String begin="2017-02-28";
String end="2017-03-01";
try {
List<String> listDate= new ArrayList<>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//字符串转Date
Date beginDateOp = sdf.parse(begin);
Date endDate = sdf.parse(end);
//Date转字符串
String strBegin=sdf.format(beginDateOp);
String strEnd=sdf.format(endDate);
//Date转Calendar
Calendar beginCalendar = new GregorianCalendar(); //或Calendar beginCalendar=Calendar.getInstance();
Calendar endCalendar = new GregorianCalendar();
beginCalendar.setTime(beginDateOp);
endCalendar.setTime(endDate);
//Calendar转Date
java.util.Date beginDateNew=beginCalendar.getTime();
java.util.Date endDateNew=endCalendar.getTime();
//Calendar字段获取
java.util.Date retBegin=beginCalendar.getTime();
int year=beginCalendar.get(Calendar.YEAR);
int month=beginCalendar.get(Calendar.MONTH)+1; //月份从0开始
int day=beginCalendar.get(Calendar.DATE);
int weekDay=beginCalendar.get(Calendar.DAY_OF_WEEK);
int weekInMonth=beginCalendar.get(Calendar.WEEK_OF_MONTH);
int weekInYear=beginCalendar.get(Calendar.WEEK_OF_YEAR);
System.out.println("这是 " + year + " 年 "+ month + " 月 "+ day + " 日,星期"+ weekDay + ",本月第 "+ weekInMonth + " 周, 本年第 " + weekInYear + " 周");
//判断日期前后
System.out.println(beginCalendar.before(endCalendar)); //相当于beginCalendar.getTimeInMillis()<endCalendar.getTimeInMillis()?
System.out.println(beginCalendar.after(endCalendar)); //相当于beginCalendar.getTimeInMillis()>endCalendar.getTimeInMillis()?
//日期相差几天
long diffDay=(endCalendar.getTimeInMillis()-beginCalendar.getTimeInMillis())/(1000*60*60*24);
System.out.println("日期相差 "+diffDay+" 天");
//从开始日期到结束日期之间日期
System.out.println("这些日期为:");
while(beginCalendar.getTimeInMillis()<=endCalendar.getTimeInMillis()){
listDate.add(sdf.format(beginCalendar.getTime()));
beginCalendar.add(Calendar.DATE, 1);
}
for(String date:listDate){
System.out.println(date);
}
//Calendar增减天、月、年
Calendar calendar1=new GregorianCalendar();
calendar1.add(Calendar.DATE, 1);
System.out.println("明天:" + sdf.format(calendar1.getTime()));
Calendar calendar2=new GregorianCalendar();
calendar2.add(Calendar.MONTH, 1);
System.out.println("下个月:" + sdf.format(calendar2.getTime()));
Calendar calendar3=new GregorianCalendar();
calendar3.add(Calendar.YEAR, 1);
System.out.println("明年:" + sdf.format(calendar3.getTime()));
}
catch (ParseException ex) {
System.out.println(ex.getCause());
}
}
}
Java 日期操作
最新推荐文章于 2024-08-07 11:15:21 发布