From d8dead2cea9fb7ae819df1264873b1a77a69cb71 Mon Sep 17 00:00:00 2001 From: zhangjifeng Date: Mon, 17 Apr 2017 15:44:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8E=B7=E5=8F=96=E6=8C=87?= =?UTF-8?q?=E5=AE=9A=E6=97=B6=E9=97=B4=E9=97=B4=E9=9A=94=E5=90=8E=E7=9A=84?= =?UTF-8?q?=E6=97=A5=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/blankj/utilcode/util/TimeUtils.java | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/utilcode/src/main/java/com/blankj/utilcode/util/TimeUtils.java b/utilcode/src/main/java/com/blankj/utilcode/util/TimeUtils.java index 1694ee43dc..971db452ff 100644 --- a/utilcode/src/main/java/com/blankj/utilcode/util/TimeUtils.java +++ b/utilcode/src/main/java/com/blankj/utilcode/util/TimeUtils.java @@ -1155,4 +1155,98 @@ public static String getZodiac(int month, int day) { ? month - 1 : (month + 10) % 12]; } + + /** + * 与给定时间间隔millis的日期 + * @param time 指定时间 + * @param millis 间隔的毫秒数 + * @return 默认格式的新日期 + */ + public static String getDateStringAfterTimeSpan(String time, long millis) { + return millis2String(string2Millis(time) + millis); + } + + /** + * 与给定时间间隔millis的日期 + * @param time 指定的原时间 + * @param pattern 时间格式 + * @param millis 间隔的毫秒数 + * @return 给定格式的日期字符串 + */ + public static String getDateStringAfterTimeSpan(String time, String pattern, long millis) { + return millis2String(string2Millis(time, pattern) + millis, pattern); + } + + /** + * 与给定时间指定间隔的日期 + * @param time 指定的原时间 + * @param pattern 时间格式 + * @param timeSpanNum 时间间隔数 + * @param unit 时间间隔单位 + * @return 计算后的新时间格式化后的字符串 + */ + public static String getDateStringAfterTimeSpan(String time, String pattern, long timeSpanNum, @TimeConstants.Unit int unit) { + return millis2String(getDateStringAfterTimeSpan(string2Millis(time, pattern), timeSpanNum, unit), pattern); + } + /** + * 与给定时间间隔millis的日期 + * @param timeMillis 指定的原时间的时间戳 + * @param timeSpanNum 时间间隔数 + * @param unit 时间间隔单位 + * @return 计算后的新时间的时间戳 + */ + private static long getDateStringAfterTimeSpan(long timeMillis, long timeSpanNum, @TimeConstants.Unit int unit) { + int unitMultiple = 1; + switch (unit) { + case TimeConstants.DAY: + unitMultiple = 1000 * 60 * 60 * 24; + break; + case TimeConstants.HOUR: + unitMultiple = 1000 * 60 * 60; + break; + case TimeConstants.MIN: + unitMultiple = 1000 * 6; + break; + case TimeConstants.SEC: + unitMultiple = 1000; + break; + case TimeConstants.MSEC: + unitMultiple = 1; + break; + } + return timeMillis + timeSpanNum * unitMultiple; + } + + /** + * 与给定时间间隔millis的日期 + * @param time 指定时间 + * @param millis 时间间隔 + * @return 新日期 + */ + public static Date getDateAfterTimeSpan(String time, long millis) { + return millis2Date(string2Millis(time) + millis); + } + + /** + * 与给定时间间隔millis的日期 + * @param time 指定时间 + * @param pattern 时间格式 + * @param millis 时间间隔 + * @return 新日期 + */ + public static Date getDateAfterTimeSpan(String time, String pattern, long millis) { + return millis2Date(string2Millis(time, pattern) + millis); + } + + /** + *与给定时间指定间隔的日期 + * @param time 原时间 + * @param pattern 时间格式 + * @param timeSpanNum 时间间隔数 + * @param unit 时间间隔单位 + * @return 计算后的新日期 + */ + public static Date getDateAfterTimeSpan(String time, String pattern, long timeSpanNum, @TimeConstants.Unit int unit) { + return millis2Date(getDateStringAfterTimeSpan(string2Millis(time, pattern), timeSpanNum, unit)); + } } \ No newline at end of file