日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

获取上周一上周日,和大上周一和大上周日的时间

發布時間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 获取上周一上周日,和大上周一和大上周日的时间 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? 此方法是通過傳入的int來控制的 獲取的數據為一個自然周(?-1 當前 0 上周 1 大上周? 以此類推進行的參數的傳遞)。直接用getWeekByDate方法即可

?

package com.hisense.smartroad.saf.week.service;import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.Map;public class Test {static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 設置時間格式/*** 獲取上周一到上周日 -1 當前 0 上周 1 大上周*/public static Map<String, Date> getWeekByDate(Date date, int x) {Calendar cal = Calendar.getInstance();if (date == null) {date = new Date();}cal.setTime(date);Map<String, Date> map = new HashMap<String, Date>();int n = cal.get(Calendar.DAY_OF_WEEK) - 1;if (n == 0) {n = 7;}cal.add(Calendar.DATE, -(7 + (n - 1) + 7 * x));Date monday = cal.getTime();map.put("monday", monday);cal.add(Calendar.DATE, 6);Date sunday = cal.getTime();map.put("sunday", sunday);/** String imptimeEnds = sdf.format(sunday);* System.out.println(imptimeEnds);*/return map;}public void getWeekByDate(Date time) {Calendar cal = Calendar.getInstance();cal.setTime(time);// 判斷要計算的日期是否是周日,如果是則減一天計算周六的,否則會出問題,計算到下一周去了int dayWeek = cal.get(Calendar.DAY_OF_WEEK);// 獲得當前日期是一個星期的第幾天if (1 == dayWeek) {cal.add(Calendar.DAY_OF_MONTH, -1);}System.out.println("要計算日期為:" + sdf.format(cal.getTime())); // 輸出要計算日期cal.setFirstDayOfWeek(Calendar.MONDAY);// 設置一個星期的第一天,按中國的習慣一個星期的第一天是星期一int day = cal.get(Calendar.DAY_OF_WEEK);// 獲得當前日期是一個星期的第幾天cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);// 根據日歷的規則,給當前日期減去星期幾與一個星期第一天的差值String imptimeBegin = sdf.format(cal.getTime());System.out.println("所在周星期一的日期:" + imptimeBegin);cal.add(Calendar.DATE, 6);String imptimeEnd = sdf.format(cal.getTime());System.out.println("所在周星期日的日期:" + imptimeEnd);}public static Date strToDate(String source) {Date date = new Date();try {DateFormat df = new SimpleDateFormat("yyyy-MM-dd");date = df.parse(source);} catch (Exception e) {e.printStackTrace();}return date;}public static void main(String[] args) {getWeekByDate(strToDate("2019-01-01"));getWeekByDate(strToDate("2019-01-01"), -1);getWeekByDate(strToDate("2019-01-01"), 0);getWeekByDate(strToDate("2019-01-01"), 1);} }

?

總結

以上是生活随笔為你收集整理的获取上周一上周日,和大上周一和大上周日的时间的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。