标签:System 日期 api println now LocalDate out
-
新日期类简介
Java 8在java.time包下提供了很多的新API,以下两个比较重要- Local(本地) - 简化了日期时间的处理,没有时区的问题。
- Zoned(时区) - 通过制定的时区处理日期时间。
-
为什么还需要新的时期类
Java 8通过发布新的Date-time API来进一步加强对日期和时间的处理。- 非线程安全java.util.Date是非线程安全的,所有的日期都是可变的
- 设计很差,
- 时区处理麻烦。
-
如何使用
public class LocalTestDemo {
public static void main(String[] args) {
/*
LocalDateTime 年月日时分秒
LocalDate 年月日
localTime时分秒
*/
LocalDateTime now = LocalDateTime.now();
System.out.println(now);
//只要日期
//LocalDate dnow = LocalDate.now()
LocalDate dnow = now.toLocalDate();
System.out.println("现在日期"+dnow);
//只要时间
LocalTime tnow = now.toLocalTime();
System.out.println("现在时间"+tnow);
Month mouth = now.getMonth();
int day = now.getDayOfMonth();
int second = now.getSecond();
System.out.println("月"+mouth.getValue()+",日"+day+",秒"+second);
//返回值是localdatetime,now的返回值就是localdatetime,返回值是自己,所以可以继续调用
LocalDateTime date = now.withYear(2012).withDayOfMonth(10).withHour(20);
System.out.println("指定时间"+date);
//只修改年月日
LocalDate ddate = now.withYear(2008).withMonth(8).toLocalDate();
System.out.println("制定日期"+ddate);
//字符串转换
String time = "20:20:15";
LocalTime tt = LocalTime.parse(time).withHour(21);
System.out.println(tt);
//date转字符串直接调用tt.toString就可以
}
}
- date转字符串直接调用tt.toString就可以
- 定义时区
public class ZonedTestDemo {
public static void main(String[] args) {
ZonedDateTime now = ZonedDateTime.now();
System.out.println(now);
ZoneId id = now.getZone();
System.out.println(id);
ZoneId zid = ZoneId.of("Europe/Paris");
System.out.println(zid);
ZonedDateTime znow = now.withZoneSameInstant(zid);
System.out.println(znow);
}
}
标签:System,日期,api,println,now,LocalDate,out 来源: https://blog.csdn.net/sinat_33940108/article/details/121654610
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。