java8中的时间处理1 - LocalDate

LocalDate 是日期的不可变类,默认格式yyyy-MM-dd. 可以用 now() 方法获取当前日期,也可以传入年月日创建实例。这个类还提供了now()的重载方法,可以传入一个时区拿到现在那个时区的日期. java.sql.Date有的功能它都有。

import java.time.LocalDate;
import java.time.Month;
import java.time.ZoneId;

/**
 * LocalDate Examples
 * @author somefuture
 *
 */
public class LocalDateExample {

	public static void main(String[] args) {
		LocalDate today = LocalDate.now();
		System.out.println("当前日期"+today);
		
		LocalDate firstDay_2014 = LocalDate.of(2014, Month.JANUARY, 1);
		System.out.println("特定日期"+firstDay_2014);
		
		
		//输入不合法参数会构造失败!这个有点意思
		//LocalDate feb29_2014 = LocalDate.of(2014, Month.FEBRUARY, 29);
		//Exception in thread "main" java.time.DateTimeException: 
		//Invalid date 'February 29' as '2014' is not a leap year因为2014年不是闰年
		
		//时区时间,可以用Asia/Shanghai或UTC+8
		LocalDate todayShanghai = LocalDate.now(ZoneId.of("Asia/Shanghai"));
		System.out.println("上海日期"+todayShanghai);

		//时区错误会报错
		//LocalDate todayIST = LocalDate.now(ZoneId.of("IST"));
		
		//从1970年创建时间
		LocalDate dateFromBase = LocalDate.ofEpochDay(365);
		System.out.println("1970年的365天后是"+dateFromBase);
		
		LocalDate hundredDay2014 = LocalDate.ofYearDay(2014, 100);
		System.out.println("2014年第100天是"+hundredDay2014);
                //2014年第100天是2014-04-10
	}
}

猜你喜欢

转载自somefuture.iteye.com/blog/2411205
今日推荐