java 根據當天時間 獲取前7天之間的時間 和後多少天的查詢時間,獲娶近幾周 週一的日期
阿新 • • 發佈:2019-02-08
java 根據當天時間 獲取前7天之間的時間 和後多少天的查詢時間
package com.kugou.schedu.service; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.kugou.schedu.dao.SongHotDao; @Component public class SongHotService { public static void main(String[] args) throws ParseException { getDayBetween(7, 7); } /** * 根據當前時間 獲取 開始時間 到結束時間 * * @param day * 獲取幾天之間的時間 * @return 開始時間 and 結束時間 */ public static Date[] getDayBetween(Integer day) { // 今天整天日期 Date startDt = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String s = sdf.format(startDt.getTime()); try { startDt = sdf.parse(s); } catch (ParseException e) { e.printStackTrace(); } Calendar calendar = new GregorianCalendar(); calendar.setTime(new Date(startDt.getTime() - 1)); calendar.add(calendar.DATE, day); // Long endDt = 604800L + startDt.getTime(); System.out.println(startDt); System.out.println(calendar.getTime()); return new Date[] { startDt, calendar.getTime() }; } /** * 根據當前時間 獲取 開始時間 到結束時間 * * @param day * 獲取幾天之間的時間 * * @param otherDay * 從前幾天 開始 * * @return 開始時間 and 結束時間 */ public static Date[] getDayBetween(Integer day, Integer otherDay) { // 今天整天日期 Date startDt = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String s = sdf.format(startDt.getTime()); try { startDt = sdf.parse(s); } catch (ParseException e) { e.printStackTrace(); } Calendar calendarStart = new GregorianCalendar(); calendarStart.setTime(startDt); calendarStart.add(calendarStart.DATE, -7); startDt=calendarStart.getTime(); Calendar calendar = new GregorianCalendar(); calendar.setTime(new Date(startDt.getTime() - 1)); calendar.add(calendar.DATE, 7); System.out.println(startDt); System.out.println(calendar.getTime()); return new Date[] {startDt,calendar.getTime()}; } } /** * output: Fri Apr 17 00:00:00 CST 2015 Thu Apr 23 23:59:59 CST 2015 */
/** * 獲娶近幾周 週一的日期 * @param weekj * @return * @throws ParseException */ public static long getWeekDayTime(int weekj) throws ParseException{ SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd"); long now=System.currentTimeMillis(); Calendar cal = Calendar.getInstance(); int a = cal.get(Calendar.DAY_OF_WEEK) - 2;//-1 int today = weekj * 7 + a;// 前三週的時間點 long xx=today*86400000L; String strDate=sdf2.format(new Date(now-xx)); Date date=sdf2.parse(strDate); return date.getTime(); //return getHoruTime(weekj); } /** * 當前小時 * 獲娶近幾小時 測試用 * @param weekj * @return * @throws ParseException */ public static long getHoruTime(int hour) throws ParseException{ SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd HH"); long now=System.currentTimeMillis(); String strDate=sdf2.format(new Date(now)); Date date=sdf2.parse(strDate); long chour= date.getTime(); hour=hour*60*60*1000; return chour-hour; } public static void main(String[] args) throws ParseException { long cuh=getWeekDayTime(3); SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(cuh); sdf2.format(cuh); System.out.println(sdf2.format(cuh)); }