java基础-日期操作-SimpleDateFormat-Calendar

Date

public class DateDemo {
	public static void main(String[] args){
		//创建出来的实例表示当前系统时间
		Date date = new Date();
		System.out.println(date);
		
		long time = date.getTime();
		time += 1000*60*60*24;
		System.out.println(time);
		
		date.setTime(time);
		System.out.println(date);
		
	}
}


Date转String

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * SimpleDateFormat
 * 可以根据一个特定的日期格式字符串
 * 将字符串与Date之间相互转换
 * @author Administrator
 *
 */
public class SimpleDateFormatDemo {
	public static void main(String[] args) {
		Date now = new Date();
		System.out.println(now);		
		//yyyy-MM-dd HH:mm:ss
		String format = "yyyy-MM-dd HH:mm:ss";
		SimpleDateFormat sdf
			= new SimpleDateFormat(format);		
		String str = sdf.format(now);
		System.out.println(str);
		
		
		
	}
}


String转Date

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 将字符串转换为Date
 * @author Administrator
 *
 */
public class SimpleDateFormatDemo2 {
	public static void main(String[] args) throws ParseException{
		String str = "2008年8月21日 23:44:21";
		String format = "yyyy年MM月dd日 HH:mm:ss";
		
		//java.text.SimpleDateFormat
		SimpleDateFormat sdf
			= new SimpleDateFormat(format);
		//java.util.Date
		// add throws ....
		Date date = sdf.parse(str);
		System.out.println(date);
		
	}
}

Calendar



4.1

获取Calendar实例

public class CalendarDemo1 {
	public static void main(String[] args){
			/*
			 * Calendar内部表示一个时间
			 * 默认创建出来的Calendar表示
			 * 当前系统时间
			 */
			Calendar calendar
							= Calendar.getInstance();
			/*
			 * Calendar的toString是不可读的
			 */
			System.out.println(calendar);
	}
}

4.2

Calendar与Date,String之间的转换

public class CalendarDemo2 {
	public static void main(String[] args) throws ParseException{
			/*
			 * Calendar -->  Date
			 * Calendar有一个方法getTime()
			 * 可以获取一个Date,该Date表示的
			 * 时间就是当前Calendar所表示的时间
			 */
			Calendar c1 = Calendar.getInstance();
			Date d1 = c1.getTime();
			System.out.println(d1);
		
			
			/*
			 * Date --> Calendar
			 * Calendar的setTime方法允许我们传入
			 * 一个Date对象
			 * 使得当前Calendar描述给定的Date对象
			 * 所描述的时间。
			 */
			Date d2 = new Date();
			Calendar c2 = Calendar.getInstance();
			c2.setTime(d2);
			
			/*
			 * Calendar --> String
			 * 首先:
			 * 	Calendar --> Date
			 * 然后:
			 * 	通过SimpleDateFormat将Date
			 *  转换为字符串
			 */
			Calendar c3 = Calendar.getInstance();
			Date d3 = c3.getTime();
			SimpleDateFormat s3
				= new SimpleDateFormat("yyyy-MM-dd");
			String str3 = s3.format(d3);
			System.out.println(str3);
			
			/*
			 * String --> Calendar
			 * 首先:
			 * 	使用SimpleDateFormat先将字符串
			 * 	转换为Date
			 * 然后:
			 * 	通过Calendar的setTime将Date
			 *  转换为Calendar
			 */
			String str4 = "2008-08-08";
			SimpleDateFormat s4
				= new SimpleDateFormat("yyyy-MM-dd");
			Date d4 = s4.parse(str4);
			Calendar c4 = Calendar.getInstance();
			System.out.println(c4);
			c4.setTime(d4);
			System.out.println(c4);
	}
}


4.3

Calendar set 方法

public class CalendarDemo3 {
	public static void main(String[] args){
			Calendar calendar
					= Calendar.getInstance();
			/*
			 * 2008-08-08
			 * 若设置的时间单位对应的值会影响没有被
			 * 设置的值,那么该值也会对应改变的
			 * 就好比,我们设置了年月日,那么对应的
			 * 周几也会跟着改变
			 */
			calendar.set(Calendar.YEAR, 2008);
			//月份从0开始,0表示1月,11表示12月
			calendar.set(Calendar.MONTH,7);
			/*
			 * DAY_OF_MONTH  通常说的"号"
			 * DAY_OF_YEAR   年中的第几天
			 * DAY_OF_WEEK	 通常说的星期几
			 */
			calendar.set(Calendar.DAY_OF_MONTH, 8);
			//HOUR_OF_DAY 24小时制的小时
			/*
			 * 当设置的单位对应的值超过了该单位允许的
			 * 最大值时,Calendar会自动进位。
			 * 像这里,小时就会向天进位
			 */
			calendar.set(Calendar.HOUR_OF_DAY, 30);
			//设置分钟
			calendar.set(Calendar.MINUTE, 22);
			//设置秒
			calendar.set(Calendar.SECOND,55);
			
			Date date = calendar.getTime();
			System.out.println(date);
	}
}

4.4 

Calender get方法

public class CalendarDemo5 {
	public static void main(String[] args){
			Calendar calendar
				= Calendar.getInstance();
			
			//获取是哪一年?
			int year 
				= calendar.get(Calendar.YEAR);
			//获取哪月
			int month
				= calendar.get(Calendar.MONTH)+1;
			/*
			 * DAY_OF_MONTH 是"号"
			 * DATE   与 DAY_OF_MONTH功能一致
			 */
			int day
				= calendar.get(Calendar.DATE);
			
			System.out.println(
					year+"-"+month+"-"+day);
			
			calendar.set(Calendar.DAY_OF_WEEK, 1);
			
			int dayofweek 
				= calendar.get(Calendar.DAY_OF_WEEK);
			System.out.println(
					"周"+(dayofweek==1?7:dayofweek-1));
	}
}

4.5

Calendar add方法

public class CalendarDemo7 {
	public static void main(String[] args){
		Calendar calendar
								= Calendar.getInstance();		
		//加3年
		calendar.add(Calendar.YEAR, 3);
		//加2个月
		calendar.add(Calendar.MONTH, 2);	
		//减去30天 对天的加减只用DAY_OF_YEAR
		calendar.add(
					Calendar.DAY_OF_YEAR, -30);		
		System.out.println(calendar.getTime());
	}
}




猜你喜欢

转载自blog.csdn.net/jk823394954/article/details/78868055