【工具类】时间相关的方法
生活随笔
收集整理的這篇文章主要介紹了
【工具类】时间相关的方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;public class DateUtil {/**** 從yyyy-MM-dd HH:mm格式轉(zhuǎn)成yyyyMMddHH格式* @param dateStr* @return*/public static String formatStr(String dateStr){SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");try {Date date = simpleDateFormat.parse(dateStr);simpleDateFormat = new SimpleDateFormat("yyyyMMddHH");return simpleDateFormat.format(date);} catch (ParseException e) {e.printStackTrace();}return null;}/**** 獲取指定日期的凌晨* @return*/public static Date toDayStartHour(Date date){Calendar calendar = Calendar.getInstance();calendar.setTime(date);calendar.set(Calendar.HOUR_OF_DAY, 0);calendar.set(Calendar.MINUTE, 0);calendar.set(Calendar.SECOND, 0);calendar.set(Calendar.MILLISECOND, 0);Date start = calendar.getTime();return start;}/**** 時間增加N分鐘* @param date* @param minutes* @return*/public static Date addDateMinutes(Date date,int minutes){Calendar calendar = Calendar.getInstance();calendar.setTime(date);calendar.add(Calendar.MINUTE, minutes);// 24小時制date = calendar.getTime();return date;}/**** 時間遞增N小時* @param hour* @return*/public static Date addDateHour(Date date,int hour){Calendar calendar = Calendar.getInstance();calendar.setTime(date);calendar.add(Calendar.HOUR, hour);// 24小時制date = calendar.getTime();return date;}/**** 獲取時間菜單* @return*/public static List<Date> getDateMenus(){//定義一個List<Date>集合,存儲所有時間段List<Date> dates = new ArrayList<Date>();//循環(huán)12次Date date = toDayStartHour(new Date()); //凌晨for (int i = 0; i <12 ; i++) {//每次遞增2小時,將每次遞增的時間存入到List<Date>集合中dates.add(addDateHour(date,i*2));}//判斷當(dāng)前時間屬于哪個時間范圍Date now = new Date();for (Date cdate : dates) {//開始時間<=當(dāng)前時間<開始時間+2小時if(cdate.getTime()<=now.getTime() && now.getTime()<addDateHour(cdate,2).getTime()){now = cdate;break;}}//當(dāng)前需要顯示的時間菜單List<Date> dateMenus = new ArrayList<Date>();for (int i = 0; i <5 ; i++) {dateMenus.add(addDateHour(now,i*2));}return dateMenus;}/**** 時間轉(zhuǎn)成yyyyMMddHH* @param date* @return*/public static String date2Str(Date date){SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHH");return simpleDateFormat.format(date);}public static void main(String[] args) {//存儲數(shù)據(jù)結(jié)果List<Date> dateList = new ArrayList<>();//獲取到本日的凌晨時間點(diǎn)Date startHour = toDayStartHour(new Date());//循環(huán)12次for(int i=0;i<12;i++){dateList.add(addDateHour(startHour,i*2));}for (Date date : dateList) {SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String format = simpleDateFormat.format(date);System.out.println(format);}}
}
總結(jié)
以上是生活随笔為你收集整理的【工具类】时间相关的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【JVM调优】JVM的运行参数
- 下一篇: 【java基础】map的基本使用与字符串