Java的时间日期类及其常用方法

import java.time.Clock;
import java.time.Duration;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.Month;
import java.time.MonthDay;
import java.time.Year;
import java.time.YearMonth;

public class NewDataPackageTest {

	public static void main(String[] args) {
		/*------下面是关于Clock的用法-------*/
		//获取当前Clock
		Clock clock =  Clock.systemUTC();
		System.out.println("当前时刻为:" + clock.instant());
		//获取clock对应的毫秒数,与System.currentTimeMillis()输出相同
		System.out.println(clock.millis());
		System.out.println(System.currentTimeMillis());
		/*-----下面是关于Duration的用法----- */
		Duration d = Duration.ofSeconds(6000);
		System.out.println("6000秒相当于" + d.toMinutes() + "分");
		System.out.println("6000秒相当于" + d.toHours() + "时");
		System.out.println("6000秒相当于" + d.toDays() + "天");
		//在clock基础上增加6000秒,返回新的Clock
		Clock clock2 = Clock.offset(clock, d);
		System.out.println("当前时刻加6000秒为:" + clock2.instant());
		/*-----下面是Instant的用法-----*/
		//获取当前时间
		Instant instant = Instant.now();
		System.out.println(instant);
		//instant增加6000秒,返回新的Instant
		Instant instant2 = instant.plusSeconds(6000);
		System.out.println(instant2);
		//根据字符串解析Instant对象
		Instant instant3 = Instant.parse("2014-02-23T10:12:35.342Z");
		System.out.println(instant3);
		//在instant3的基础上添加5小时4分钟
		Instant instant4 = instant3.plus(Duration.ofHours(5).plusMinutes(4));
		System.out.println(instant4);
		//获取instant4 5天以前的时刻
		Instant instant5 = instant4.minus(Duration.ofDays(5));
		System.out.println(instant5);
		/*-----下面是LocalData的用法-----*/
		LocalDate localDate = LocalDate.now();
		System.out.println(localDate);
		//获得2014年的第146天
		localDate = LocalDate.ofYearDay(2014, 146);
		System.out.println(localDate);
		//设置为2014年5月21日
		localDate = LocalDate.of(2014, Month.MAY, 21);
		System.out.println(localDate);
		/*-----LocalTime的用法----- */
		//获取当前时间
		LocalTime localtime = LocalTime.now();
		System.out.println(localtime);
		//设置时间为22点33分
		localtime = LocalTime.of(22, 33);
		System.out.println(localtime);
		//返回一天当中的第5503秒
		localtime = LocalTime.ofSecondOfDay(5503);
		System.out.println(localtime);
		/*-----下面是localDateTime的用法-----*/
		//获取当前时间
		LocalDateTime  localdatetime = LocalDateTime.now();
		//当前日期时间加上25小时3分钟
		LocalDateTime future = localdatetime.plusHours(25).plusMinutes(3);
		System.out.println(future);
		/*-----下面是关于Year、YearMorton、MonthDay的用法实例*/
		Year year = Year.now();
		System.out.println("当前年份:" + year);
		year = year.plusYears(5);
		System.out.println("当前年份加五年:" + year);
		//根据指定月份获取YearMorth
		YearMonth ym = year.atMonth(10);
		System.out.println("当前年的10月:" + ym);
		//当前年月加5年在减3月
		ym = ym.plusYears(5).minusMonths(3);
		System.out.println("当前年月加5年在减3月:" + ym);
		MonthDay md = MonthDay.now();
		System.out.println("当前月日:" + md);
		//设置为5月23日
		MonthDay md2 = md.with(Month.MAY).withDayOfMonth(23);
		System.out.println("5月23日:" + md2);
	}

}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值