@@ -1155,4 +1155,98 @@ public static String getZodiac(int month, int day) {
1155
1155
? month - 1
1156
1156
: (month + 10 ) % 12 ];
1157
1157
}
1158
+
1159
+ /**
1160
+ * 与给定时间间隔millis的日期
1161
+ * @param time 指定时间
1162
+ * @param millis 间隔的毫秒数
1163
+ * @return 默认格式的新日期
1164
+ */
1165
+ public static String getDateStringAfterTimeSpan (String time , long millis ) {
1166
+ return millis2String (string2Millis (time ) + millis );
1167
+ }
1168
+
1169
+ /**
1170
+ * 与给定时间间隔millis的日期
1171
+ * @param time 指定的原时间
1172
+ * @param pattern 时间格式
1173
+ * @param millis 间隔的毫秒数
1174
+ * @return 给定格式的日期字符串
1175
+ */
1176
+ public static String getDateStringAfterTimeSpan (String time , String pattern , long millis ) {
1177
+ return millis2String (string2Millis (time , pattern ) + millis , pattern );
1178
+ }
1179
+
1180
+ /**
1181
+ * 与给定时间指定间隔的日期
1182
+ * @param time 指定的原时间
1183
+ * @param pattern 时间格式
1184
+ * @param timeSpanNum 时间间隔数
1185
+ * @param unit 时间间隔单位
1186
+ * @return 计算后的新时间格式化后的字符串
1187
+ */
1188
+ public static String getDateStringAfterTimeSpan (String time , String pattern , long timeSpanNum , @ TimeConstants .Unit int unit ) {
1189
+ return millis2String (getDateStringAfterTimeSpan (string2Millis (time , pattern ), timeSpanNum , unit ), pattern );
1190
+ }
1191
+ /**
1192
+ * 与给定时间间隔millis的日期
1193
+ * @param timeMillis 指定的原时间的时间戳
1194
+ * @param timeSpanNum 时间间隔数
1195
+ * @param unit 时间间隔单位
1196
+ * @return 计算后的新时间的时间戳
1197
+ */
1198
+ private static long getDateStringAfterTimeSpan (long timeMillis , long timeSpanNum , @ TimeConstants .Unit int unit ) {
1199
+ int unitMultiple = 1 ;
1200
+ switch (unit ) {
1201
+ case TimeConstants .DAY :
1202
+ unitMultiple = 1000 * 60 * 60 * 24 ;
1203
+ break ;
1204
+ case TimeConstants .HOUR :
1205
+ unitMultiple = 1000 * 60 * 60 ;
1206
+ break ;
1207
+ case TimeConstants .MIN :
1208
+ unitMultiple = 1000 * 6 ;
1209
+ break ;
1210
+ case TimeConstants .SEC :
1211
+ unitMultiple = 1000 ;
1212
+ break ;
1213
+ case TimeConstants .MSEC :
1214
+ unitMultiple = 1 ;
1215
+ break ;
1216
+ }
1217
+ return timeMillis + timeSpanNum * unitMultiple ;
1218
+ }
1219
+
1220
+ /**
1221
+ * 与给定时间间隔millis的日期
1222
+ * @param time 指定时间
1223
+ * @param millis 时间间隔
1224
+ * @return 新日期
1225
+ */
1226
+ public static Date getDateAfterTimeSpan (String time , long millis ) {
1227
+ return millis2Date (string2Millis (time ) + millis );
1228
+ }
1229
+
1230
+ /**
1231
+ * 与给定时间间隔millis的日期
1232
+ * @param time 指定时间
1233
+ * @param pattern 时间格式
1234
+ * @param millis 时间间隔
1235
+ * @return 新日期
1236
+ */
1237
+ public static Date getDateAfterTimeSpan (String time , String pattern , long millis ) {
1238
+ return millis2Date (string2Millis (time , pattern ) + millis );
1239
+ }
1240
+
1241
+ /**
1242
+ *与给定时间指定间隔的日期
1243
+ * @param time 原时间
1244
+ * @param pattern 时间格式
1245
+ * @param timeSpanNum 时间间隔数
1246
+ * @param unit 时间间隔单位
1247
+ * @return 计算后的新日期
1248
+ */
1249
+ public static Date getDateAfterTimeSpan (String time , String pattern , long timeSpanNum , @ TimeConstants .Unit int unit ) {
1250
+ return millis2Date (getDateStringAfterTimeSpan (string2Millis (time , pattern ), timeSpanNum , unit ));
1251
+ }
1158
1252
}
0 commit comments