JAVA API Date SimpleDateFormat and Calender

</pre><pre name="code" class="java">示例一:
import java.util.Date;

/**
 * java.util.Date
 * 该类内部维护一个long值,表示从1970年元旦到要描述的
 * 时间之间所经过的毫秒值
 * 由于Date的设计缺陷,现在仅用它表示时间,而不做时间
 * 相关的其他操作。
 * @author Administrator
 *
 */
public class DateDemo1 {
	public static void main(String[] args) {
		/*
		 * 创建的对象默认表示当前系统时间
		 */
		Date date = new Date();
		/*
		 * Date重写了toString方法
		 * 只是对非英语地区而言,格式不是很友好
		 */
		System.out.println(date);
		
		/*
		 * long getTime()
		 * 获取当前Date内部维护的long值。
		 * 即:1970年元旦到描述的时间点之间的毫秒值
		 */
		long time = date.getTime();
		
		System.out.println(time);
		
		//明天这一刻的毫秒值
		time += 1000*60*60*24;
		/*
		 * void setTime(long time)
		 * 将给定的毫秒值设置到当前Date对象中,使其表示
		 * 该时间
		 */
		date.setTime(time);
		System.out.println(date);
		
	}
}

示例二:

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

/**
 * 该类的主要作用:
 * 1:将Date转换为字符串
 * 2:将字符串转换为Date
 * 
 * 在两者之间进行转换是需要指定格式的。
 * 而格式也是使用一个字符串描述的。
 * @author Administrator
 *
 */
public class SimpleDateFormatDemo1 {
	public static void main(String[] args) {
		//当前系统时间
		Date now = new Date();
		//Date的toString
		System.out.println(now);
		
		/*
		 * 希望输出的字符串样子:
		 * 2015-04-07 11:00:58
		 * yyyy-MM-dd HH:mm:ss
		 */
		//java.text.SimpleDateFormat
		SimpleDateFormat sdf
			= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		/*
		 * String format(Date date)
		 * 将给定的Date所表示的时间按照当前SimpleDateForma
		 * 指定的日期格式转换为对应的字符串
		 */
		String str = sdf.format(now);
		System.out.println(str);
	}
}

示例三:

import java.util.Calendar;

/**
 * Calendar设置时间
 * 可以对当前Calendar的不同时间单位进行分别的设置
 * 使得其可以表示给定的时间
 * @author Administrator
 *
 */
public class CalendarDemo2 {
	public static void main(String[] args) {
		/*
		 * void set(int field,int value)
		 * 对给定的时间分量(单位)设置给定的值。
		 * 
		 */
		Calendar calendar = Calendar.getInstance();
		
		/*
		 * 当我们对某个时间分量设置新值后,通常年月日时分秒
		 * 能不变的就不变,但是有些情况也是要受到牵连而跟着
		 * 变化。比如星期几。
		 * 
		 * 设置为2008年
		 * 对于时间分量,Calendar有不同的常量进行对应
		 */
		System.out.println(calendar.getTime());
		
		calendar.set(Calendar.YEAR, 2008);
		
		System.out.println(calendar.getTime());
		
		/*
		 * 设置为8月
		 * 月份的值有常量对应
		 * 若写数字需要注意:0表示1月,以此类推 11表示12月
		 * 
		 */
		calendar.set(Calendar.MONTH, 7);
		System.out.println(calendar.getTime());
		
		/*
		 * 设置日
		 * 8号
		 * DATE:月中的天  几号
		 * DAY_OF_MONTH:与DATE等价
		 * 
		 * DAY_OF_WEEK:星期中的天  星期几
		 * DAY_OF_YEAR:年中的天
		 */
		calendar.set(Calendar.DAY_OF_MONTH, 8);
		System.out.println(calendar.getTime());
		
		/*
		 * 设置时
		 * HOUR:12小时制
		 * HOUR_OF_DAY:24小时制
		 */
		calendar.set(Calendar.HOUR_OF_DAY, 20);
		
		calendar.set(Calendar.MINUTE, 8);
		
		calendar.set(Calendar.SECOND, 8);
		System.out.println(calendar.getTime());
	}
示例四;

import java.util.Calendar;

/**
 * 获取当前Calendar表示的时间中某个时间分量对应的值
 * 
 * in get(int field)
 * 获取给定的时间分量所对应的值
 * @author Administrator
 *
 */
public class CalendarDemo3 {
	public static void main(String[] args) {
		Calendar calendar = Calendar.getInstance();
		
		//获取年
		int year = calendar.get(Calendar.YEAR);
		System.out.println("year:"+year);
		
		//获取月
		int month = calendar.get(Calendar.MONTH);
		System.out.println("month:"+(month+1));
		
		//获取日
		int date = calendar.get(Calendar.DATE);
		System.out.println("date:"+date);
		
		//今年的第几天
		int days = calendar.get(Calendar.DAY_OF_YEAR);
		System.out.println("今年的第:"+days+"天");
		
		//今天星期几
		int dow = calendar.get(Calendar.DAY_OF_WEEK);
		System.out.println("星期:"+(dow==1?7:dow-1));
		
		
	}
}
示例五:
import java.util.Calendar;

/**
 * 获取某个时间分量所允许的最大值
 * @author Administrator
 *
 */
public class CalendarDemo4 {
	public static void main(String[] args) {
		Calendar calendar = Calendar.getInstance();
		/*
		 * 总是以当前Calendar所表示的时间作为基准,看给定的
		 * 时间分量所允许的最大值
		 */
		int days
			=calendar.getActualMaximum(Calendar.DAY_OF_YEAR);
		
		System.out.println("一共:"+days+"天");
		
		
	}
}

示例六:
import java.util.Calendar;

/**
 * 计算时间的方法
 * void add(int field,int value)
 * 对给定的时间分量累加给定的值。若值为负数则是减法。
 * @author Administrator
 *
 */
public class CalendarDemo5 {
	public static void main(String[] args) {
		
		Calendar calendar = Calendar.getInstance();
		
		/*
		 * 2年3个月零15天以后的那周的周二是几号
		 */
		 
		calendar.add(Calendar.YEAR, 2);
		
		calendar.add(Calendar.MONTH, 3);
		
		calendar.add(Calendar.DAY_OF_YEAR, 15);
		
		System.out.println(calendar.getTime());
		
		calendar.set(Calendar.DAY_OF_WEEK, 3);
		
		System.out.println(calendar.getTime());
		
		
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值