一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - JAVA教程 - Java編程時間日期API實例解析

Java編程時間日期API實例解析

2021-03-17 13:56yanweiqi JAVA教程

本文主要介紹了Java編程時間日期API實例解析的相關內容,分享了一則實例,具有一定借鑒價值,需要的朋友可以參考下。

本文實例主要是關于Java8中的新特性,時間日期api的相關實例,具體如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
package com.effective.common.base.date;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.Period;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.Date;
/**
 * 日期工具類
 * @author yanweiqi
 * @since 2016-5-6
 *
 */
public class LocalDateUtils {
    private static ZoneId zone = ZoneId.systemDefault();
    /**
   * 字符串轉Date
   * @param date
   * @return
   * @throws Exception
   */
    public static Date convertToDate(String date) throws Exception{
        LocalDate localDate = null;
        if(null == date){
            throw new NullPointerException("date isn't null");
        } else {
            localDate = LocalDate.parse(date);
            return convertToDate(localDate);
        }
    }
    /**
   * 字符串轉LocalDateTime
   * @param date
   * @return localDateTime
   */
    public static LocalDateTime convertToLocalDateTime(String date){
        LocalDateTime localDateTime = null;
        if(null == date){
            throw new NullPointerException("date isn't null");
        } else {
            localDateTime = LocalDateTime.parse(date);
            return localDateTime;
        }
    }
    /**
   * LocalDate轉Date
   * @param localDate
   * @return Date
   */
    public static Date convertToDate(LocalDate localDate){
        Instant instant = localDate.atStartOfDay().atZone(zone).toInstant();
        return Date.from(instant);
    }
    /**
   * LocalDate轉Date
   * @param localDateTime
   * @return Date
   */
    public static Date convertToDate(LocalDateTime localDateTime){
        Instant instant = localDateTime.atZone(zone).toInstant();
        return Date.from(instant);
    }
    /**
   * Date轉LocalDate
   * @param date
   * @return localDate
   */
    public static LocalDate convertToLocalDate(Date date){
        Instant instant = date.toInstant();
        return convertToLocalDateTime(instant).toLocalDate();
    }
    /**
   * Date轉LocalTime
   * @param date
   * @return localDate
   */
    public static LocalTime convertToLocalTime(Date date){
        Instant instant = date.toInstant();
        return convertToLocalDateTime(instant).toLocalTime();
    }
    /**
   * Date轉LocalDatetime
   * @param date
   * @return localDate
   */
    public static LocalDateTime convertToLocalDateTime(Date date){
        Instant instant = date.toInstant();
        return convertToLocalDateTime(instant);
    }
    /**
   * Instant轉LocalDateTime
   * @param instant
   * @return
   */
    public static LocalDateTime convertToLocalDateTime(Instant instant){
        return LocalDateTime.ofInstant(instant, zone);
    }
    /**
   * LocalDateTime轉Instant
   * @param localDateTime
   * @return
   */
    public static Instant convertToInstant(LocalDateTime localDateTime){
        return localDateTime.atZone(zone).toInstant();
    }
    /**
   * LocalDate轉Instant
   * @param localDate
   * @return
   */
    public static Instant convertToInstant(LocalDate localDate){
        return localDate.atStartOfDay(zone).toInstant();
    }
    /**
   * LocalDate轉LocalDateTime
   * @param localDate
   * @return LocalDateTime
   */
    public static LocalDateTime convertToLocalDateTime(LocalDate localDate){
        return localDate.atStartOfDay();
    }
    /**
   * 日周期格式化
   * @param localDateTime
   * @param formatStyle
   * @return
   */
    public static String formatter(LocalDateTime localDateTime, String formatStyle){
        return DateTimeFormatter.ofPattern(formatStyle).format(localDateTime);
    }
    /**
   * 設置年
   * @param sourceDate
   * @param year
   * @return LocalDateTime
   */
    public static LocalDateTime setYear(LocalDateTime sourceDate, Integer year){
        return sourceDate.withYear(year);
    }
    /**
   * 設置月
   * @param sourceDate
   * @param month
   * @return LocalDateTime
   */
    public static LocalDateTime setMonth(LocalDateTime sourceDate, Integer month){
        return sourceDate.withMonth(month);
    }
    /**
   * 設置天
   * @param sourceDate
   * @param month
   * @return LocalDateTime
   */
    public static LocalDateTime setDayOfMonth(LocalDateTime sourceDate, Integer dayOfMonth){
        return sourceDate.withDayOfMonth(dayOfMonth);
    }
    /**
   * 設置小時
   * @param sourceDate
   * @param hour
   * @return
   */
    public static LocalDateTime setHour(LocalDateTime sourceDate,Integer hour){
        return sourceDate.withHour(hour);
    }
    /**
   * 設置分鐘
   * @param sourceDate
   * @param minute
   * @return
   */
    public static LocalDateTime setMinute(LocalDateTime sourceDate,Integer minute){
        return sourceDate.withMinute(minute);
    }
    /**
   * 設置秒
   * @param sourceDate
   * @param second
   * @return
   */
    public static LocalDateTime setSecond(LocalDateTime sourceDate,Integer second){
        return sourceDate.withSecond(second);
    }
    /**
   * 修改年月日
   * @param sourceDate
   * @param year
   * @param month
   * @param dayOfMonth
   * @return
   */
    public static LocalDateTime setYMD(LocalDateTime sourceDate, Integer year, Integer month, Integer dayOfMonth) {
        return sourceDate.withYear(year).withMonth(month).withDayOfMonth(dayOfMonth);
    }
    /**
   * 修改時分秒
   * @param sourceDate
   * @param hour
   * @param minute
   * @param second
   * @return
   */
    public static LocalDateTime setHMS(LocalDateTime sourceDate,Integer hour, Integer minute, Integer second) {
        return sourceDate.withHour(hour).withMinute(minute).withSecond(second);
    }
    /**
   * 計算相差的天數
   * @param beginDate
   * @param endDate
   * @return
   */
    public static int getInteverDays(LocalDate beginDate,LocalDate endDate){
        Period period = Period.between(beginDate, endDate);
        return period.getDays();
    }
    /**
   * 日期加減
   * @param num 數量
   * @param unit 單位
   * @param LocalDate 原日期
   * @return LocalDate 增加后的日期
   */
    @SuppressWarnings("static-access")
      public static LocalDate addLocalDate(long num,ChronoUnit unit,final LocalDate localDate){
        LocalDate resultDate;
        if(num > 0){
            resultDate = localDate.now().plus(num, unit);
        } else {
            resultDate = localDate.now().minus(Math.abs(num), unit);
        }
        return resultDate;
    }
    /**
   * 日期時分秒加
   * @param num 數量
   * @param unit 單位
   * @param localDateTime 原日期
   * @return LocalDateTime 增加后的日期
   */
    @SuppressWarnings("static-access")
      public static LocalDateTime addLocalDateTime(long num,ChronoUnit unit,LocalDateTime localDateTime){
        LocalDateTime resultDateTime;
        if(num > 0){
            resultDateTime = localDateTime.now().plus(num, unit);
        } else {
            resultDateTime = localDateTime.now().minus(Math.abs(num),unit);
        }
        return resultDateTime;
    }
    /**
   * 時分秒加減
   * @param num 數量
   * @param unit 單位
   * @param localTime 原日期
   * @return LocalDateTime 增加后的日期
   */
    @SuppressWarnings("static-access")
      public static LocalTime addLocalTime(long num,ChronoUnit unit,LocalTime localTime){
        LocalTime resultTime;
        if(num > 0){
            resultTime = localTime.now().plus(num, unit);
        } else {
            resultTime = localTime.now().minus(Math.abs(num), unit);
        }
        return resultTime;
    }
    public static void main(String[] args){
        LocalDateTime time = LocalDateTime.now();
        String rr = formatter(time, "yyyy-MM-dd HH:mm:ss");
        System.out.println(rr);
        LocalDateTime time2 = addLocalDateTime(-2, ChronoUnit.HOURS, time);
        String yy = formatter(time2, "yyyy-MM-dd HH:mm:ss");
        System.out.println(yy);
    }

代碼涉及時間日期類的使用等內容,具有簡單注釋,大家可自行參考。

總結

以上就是本文關于Java編程時間日期API實例解析的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:http://www.cnblogs.com/ywqbj/p/5645910.html

延伸 · 閱讀

精彩推薦
  • JAVA教程老生常談Java反射機制(必看篇)

    老生常談Java反射機制(必看篇)

    下面小編就為大家帶來一篇老生常談Java反射機制(必看篇)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    Java教程網2722020-11-17
  • JAVA教程Java中常見的5種WEB服務器介紹

    Java中常見的5種WEB服務器介紹

    這篇文章主要介紹了Java中常見的5種WEB服務器介紹,它們分別是Tomcat、Resin、JBoss、WebSphere、WebLogic,需要的朋友可以參考下 ...

    junjie3622019-11-24
  • JAVA教程POI對Excel自定義日期格式的讀取(實例代碼)

    POI對Excel自定義日期格式的讀取(實例代碼)

    下面小編就為大家帶來一篇POI對Excel自定義日期格式的讀取(實例代碼)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看...

    java教程網5682020-07-01
  • JAVA教程Java創建ZIP壓縮文件的方法

    Java創建ZIP壓縮文件的方法

    這篇文章主要介紹了Java創建ZIP壓縮文件的方法,實例分析了java創建zip文件的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下 ...

    華宰4362019-12-27
  • JAVA教程淺談IDEA中Maven配置問題全解決

    淺談IDEA中Maven配置問題全解決

    這篇文章主要介紹了淺談IDEA中Maven配置問題全解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下...

    CringKong4592020-07-25
  • JAVA教程idea首次使用需要配置哪些東西

    idea首次使用需要配置哪些東西

    這篇文章主要介紹了idea首次使用需要配置哪些東西,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下 ...

    c12259925312872020-08-05
  • JAVA教程IntelliJ IDEA 2020 安裝和常用配置(推薦)

    IntelliJ IDEA 2020 安裝和常用配置(推薦)

    這篇文章主要介紹了IntelliJ IDEA 2020 安裝和常用配置(推薦),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋...

    zyplanke8782020-08-09
  • JAVA教程Java值傳遞之swap()方法不能交換的解決

    Java值傳遞之swap()方法不能交換的解決

    這篇文章主要介紹了Java值傳遞之swap()方法不能交換的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    秦彬桂2462020-09-29
主站蜘蛛池模板: 国产精品嫩草影院一二三区入口 | 国产精品手机视频一区二区 | 修修视频在线观看 | 日本伊人久久 | 欧美亚洲国产精品久久第一页 | 欧美又大又粗又长又硬 | 好涨好大我快受不了了视频网 | 青草娱乐极品免费视频 | 97国产精品久久碰碰牛牛 | 国产高清精品自在久久 | 91精品国产91久久久久久麻豆 | 奇米白色| 亚洲好视频 | 亚洲国产第一 | 国产欧美日韩视频在线观看一区二区 | a天堂视频 | 欧美一级在线播放 | 日本xxxx19视频 | 亚洲天堂v| 91久久偷偷做嫩草影院免费看 | 午夜在线观看免费观看 视频 | 男女18一级大黄毛片免 | 四虎在线精品观看免费 | 亚洲国产福利精品一区二区 | 亚州在线| 亚洲性久久久影院 | 给我免费的视频在线观看 | 黑人好大好硬好深好爽想要h | 春宵福利网站在线观看 | 国产在线观看网站 | 91麻豆精品国产91久久久 | 国产精品nv在线观看 | 精品国产福利一区二区在线 | 国产成人综合一区人人 | 亚洲欧美日韩国产一区图片 | 手机看片自拍自自拍日韩免费 | 色先锋 影音先锋a 资源站 | xxx美国| 小SAO货叫大声点妓女 | 免费看男人使劲躁女人小说 | 无遮挡激情 |