Java8 時間API
java.time 包是在JDK8新引入的,提供了用于日期、时间、实例和周期的主要API。
所有类都是不可变的、线程安全的。
import java.time.*;
import java.time.format.DateTimeFormatter;public class DateTest {public static void main(String[] args) {LocalDate localDate = LocalDate.now();System.out.println("当前日期: " + localDate);//获取年、月、日System.out.println("年份: " + localDate.getYear());System.out.println("月份: " + localDate.getMonthValue());System.out.println("日期: " + localDate.getDayOfMonth());System.out.println(localDate.getYear() + "年第" + localDate.getDayOfYear() + "年");System.out.println("星期: " + localDate.getDayOfWeek());System.out.println("判斷當前年份是否是閏年:" + localDate.isLeapYear());//創建時間對象LocalDate lastTime = localDate.of(2008, 8, 8);System.out.println(lastTime);//LocalDate 轉 StringDateTimeFormatter rule = DateTimeFormatter.ofPattern("yyyy-MM-dd");String timeStr = lastTime.format(rule);System.out.println(timeStr);//String 轉 LocalDateLocalDate lastTime1 = localDate.parse(timeStr);System.out.println(lastTime1);LocalDateTime now = LocalDateTime.now();System.out.println(now.getYear() + "年" + now.getMonthValue() + "月" + now.getDayOfMonth() + "日 時間:"+ now.getHour() + ":" //時+ now.getMinute() + ":" //分+ now.getSecond() + ":" //秒+ now.getNano()); //毫秒//增加年份 返回新的對象LocalDateTime nextYear = now.plusYears(1);System.out.println(nextYear);//增加月份 返回新的對象LocalDateTime nextMonth = nextYear.plusMonths(1);System.out.println(nextMonth);//增加天數 返回新的對象 LocalDateTime nextDay = nextMonth.plusDays(2);System.out.println(nextDay);//增加小時數 返回新的對象LocalDateTime nextHours = nextDay.plusHours(2);System.out.println(nextHours);//nextHours.plusMinutes(minutes)//nextHours.plusSeconds(seconds)//nextHours.plusNanos(nanos)//不一一演示//減去年份LocalDateTime preYear = nextHours.minusYears(1);System.out.println(preYear);//減去月份LocalDateTime preMonth = preYear.minusMonths(1);System.out.println(preMonth);//減去日期LocalDateTime preDay = preMonth.minusDays(2);System.out.println(preDay);//設置時間//設置年份LocalDateTime setYear = preDay.withYear(1997);System.out.println(setYear);//設置月份LocalDateTime setMonth = setYear.withMonth(5);System.out.println(setMonth);LocalDateTime dateTime = LocalDateTime.parse("2010-01-01T19:24:01.078");System.out.println("String 轉 LocalDateTime: " + dateTime);DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");System.out.println("LocalDateTime 轉 String: " + dateTime.format(formatter));//java.time.Duration 計算時間LocalDateTime start = LocalDateTime.of(1997, 7, 3, 1, 1);LocalDateTime end = LocalDateTime.of(2020, 1, 1, 1, 1);Duration result = Duration.between(start, end);System.out.println("距離天數: " + result.toDays()); //沒有距離年數的方法System.out.println("距離小時數: " + result.toHours());System.out.println("距離分鐘數: " + result.toMinutes());System.out.println("距離秒數: " + result.toMillis()); //秒}}
转载于:https://www.cnblogs.com/mxh-java/p/11523598.html
Java8 時間API相关推荐
- ES 處於“initializing”狀態,此時主節點正在嘗試將分片分配到集群中的數據節點。 如果您看到分片仍處於初始化或未分配狀態太長時間,則可能是您的集群不穩定的警告信號。...
指標要點: Cluster status: 如果集群狀態為黃色,則至少有一個副本分片未分配或丟失. 搜索結果仍將完成,但如果更多的分片消失,您可能會丟失數據. 紅色的群集狀態表示至少有一個主分片丟失, ...
- 熬夜的朋友注意了﹕看看器官的工作時間
我相信﹐很多朋友都和我一樣有熬夜的習慣﹐今偶在某BBS看到這則驚人消息﹐特轉貼過來.熬夜的朋友﹐應該注意自己的健康了.有了健康就有一切﹐失去健康﹐就可能失去一切. 以下是原文轉貼: 不要睡覺太晚,看看 ...
- 線陣相機處理時間計算方法
線陣相機圖像處理時間計算,以xx案子為例, 相機使用16K線陣 最大速度300mm/s FOV 300mm 計算方法: 1, 每個像素點大小=FOV/像素數=300/16*100 ...
- android 仿ios timepicker,android:TimePicker仿照IOS時間選擇器,可自定義選擇器
背景: 項目要求寫一個選擇器:不僅僅是單純的時間,還包括自定義部分. 搜了很久,搜出來只用一個自定義view.java類,再簡單封裝下的選擇器: 貼下源碼:public class PickerVie ...
- php 時間比較,PHP用strtotime()函數比較兩個時間的大小實例詳解
在PHP開發中,我們經常會對兩個時間的大小進行判斷,但是,在PHP中,兩個時間是不可以直接進行比較,因為時間是由年.月.日.時.分.秒組成的,所以,如果需要將兩個時間進行比較的話,我們首先要做的就是將 ...
- 時間用function 來計算...如此精確.
SET QUOTED_IDENTIFIER ON GO --目前只對對B班有效 CREATE function [dbo].[per_GetLeaveMinutes] ( @start_leave_d ...
- 出名互聯網公司工作時間
公司如美團, BAT,華為, 頭條都是差不多晚上10點才下班, 所以他們沒有做運動或者健身的時間.
- linux一个时间片执行多少次,linux2.6.XX進程切換和時間片再生
linux2.6.XX進程切換和時間片再生 上一篇中介紹了linux0.01的進程切換的時間複雜度是O(n)級的, 這對linux0.01來說不會有什麼問題, 因為linux0.01最多隻能有64個進 ...
- 简易的动物园管理系统之Java8流式API的重构代码(使用 门面设计模式)
文章目录 前言 之前的文章 本次的源码 AnimalTypeEnum SexEnum Animal AnimalFactory BaseAnimal Bird Cat Dog Fish AddAnim ...
最新文章
- 10-Flutter移动电商实战-使用FlutterSwiper制作轮播效果
- 我们曾探讨过的微信功能
- 复制字符串小程序笔记
- 【代码笔记】Web-ionic-select
- HDU 6168 Numbers 思维
- 前端技巧之苹果官网效果分析
- 7-107 汉诺塔的非递归实现 (25 分)
- python把源代码打包成.exe文件
- 【基础】网络常见的9大命令,非常实用!
- 举例说明Java的反射机制,简单的Java反射机制
- C语言实例--百钱买百鸡
- 14.13. wireless
- 基于Android图书馆借阅系统app毕业设计
- YARN 作业执行流程
- 逻辑回归(公式推导+numpy实现)
- 一次Linux系统被攻击的分析过程
- php的表达爱意的一句代码,一句表达爱意的古词 最能表达爱的一句话
- Unity使用新输入系统InputSystem制作飞机大战Demo(对象池设计模式及应用)
- 个人站长的廉价劳动力
- 简述计算机蓝屏的主要原因,常见电脑蓝屏的原因有什么
热门文章
- 如何从服务器导出文件,如何从云服务器导出文件
- Android Studio安装应用时报错 installation failed with message Failed to finalize session......
- 剑指offer--不用加减乘除做加法
- mobileNet v2网络详解
- the value of esp was not properly saved
- javaweb利用servlet与struts2实现可点击刷新的基础图片验证码
- NuttX 启动流程
- HDU Problem - 6396 Swordsman(优先队列,模拟)
- UDP对应的应用层协议之DHCP协议
- pyperclip模块