關于指定日期的獲取

java使用Calendar類獲得指定日期

???關于指定日期的獲取,是根據指定日期和當前日期相差的天數,然后使用set方法設置Calendar.DAY_OF_MONTH的值。
? ? Calendar cal = Calendar.getInstance();
? ? cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH) - dayPlus);
? ? (dayPlus表示指定日期和當前日期相差的天數)
? ? 不進行set,默認是獲取系統時間,初步測試沒有問題,可正確獲得指定日期。
? ? *************************************************************************************************
? ? 代碼:
? ? // 獲得當前日期
? ? public static String getDate() {
? ?? ???Calendar cal = Calendar.getInstance();
? ?? ???return getDate(cal);
? ? }

? ? // 獲得日期
? ? private static String getDate(Calendar cal) {
? ?? ???String v_strDate = "";
? ?? ???int v_intYear = cal.get(Calendar.YEAR);
? ?? ???int v_intMonth = cal.get(Calendar.MONTH) + 1;
? ?? ???int v_intDAY = cal.get(Calendar.DAY_OF_MONTH);
? ?? ???int v_intHOUR = cal.get(Calendar.HOUR_OF_DAY);
? ?? ???int v_intMINUTE = cal.get(Calendar.MINUTE);
? ?? ???int v_intSECOND = cal.get(Calendar.SECOND);
? ?? ???
? ?? ???if (v_intDAY < 10) {
? ?? ?? ?? ?v_strDate = v_strDate + "0" + v_intDAY + "-";
? ?? ???}else {
? ?? ?? ?? ?v_strDate = v_strDate + v_intDAY + "-";
? ?? ???}
? ?? ???if (v_intMonth < 10) {
? ?? ?? ?? ?v_strDate = v_strDate + "0" + v_intMonth + "-";
? ?? ???}else {
? ?? ?? ?? ?v_strDate = v_strDate + v_intMonth + "-";
? ?? ???}
? ?? ???v_strDate = v_strDate + v_intYear + " ";
? ?? ???
? ?? ???if (v_intHOUR < 10) {
? ?? ?? ?? ?v_strDate = v_strDate + "0" + v_intHOUR + ":";
? ?? ???}else {
? ?? ?? ?? ?v_strDate = v_strDate + v_intHOUR + ":";
? ?? ???}
? ?? ???if (v_intMINUTE < 10) {
? ?? ?? ?? ?v_strDate = v_strDate + "0" + v_intMINUTE + ":";
? ?? ???} else {
? ?? ?? ?? ?v_strDate = v_strDate + v_intMINUTE + ":";
? ?? ???}
? ?? ???if (v_intSECOND < 10) {
? ?? ?? ?? ?v_strDate = v_strDate + "0" + v_intSECOND;
? ?? ???} else {
? ?? ?? ?? ?v_strDate = v_strDate + v_intSECOND;
? ?? ???}
? ?? ???cal = null;
? ?? ???return v_strDate;
? ? }

? ? //獲得當前日期與本周日相差的天數
? ? private static int getMondayPlus() {
? ?? ???Calendar cd = Calendar.getInstance();
? ?? ???// 獲得今天是一周的第幾天,星期日是第一天,星期二是第二天......
? ?? ???int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK) - 1; // 因為按中國禮拜一作為第一天所以這里減1
? ?? ???if (dayOfWeek == 1) {
? ?? ?? ?? ?return 0;
? ?? ???} else {
? ?? ?? ?? ?return dayOfWeek - 1;
? ?? ???}
? ? }

? ? //獲得本周一的日期
? ? public static String getThisMondayDate() {
? ?? ???Calendar cal = Calendar.getInstance();
? ?? ???int mondayPlus = getMondayPlus();
? ?? ???cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH)-mondayPlus);
? ?? ???cal.set(Calendar.HOUR_OF_DAY, 0);
? ?? ???cal.set(Calendar.MINUTE, 0);
? ?? ???cal.set(Calendar.SECOND, 0);
? ?? ???return getDate(cal);
? ? }
? ??
? ? //獲得本月1號的日期
? ? public static String getCurrentMonthBeginDate(){
? ?? ???Calendar cal = Calendar.getInstance();
? ?? ???cal.set(Calendar.DAY_OF_MONTH, 1);
? ?? ???cal.set(Calendar.HOUR_OF_DAY, 0);
? ?? ???cal.set(Calendar.MINUTE, 0);
? ?? ???cal.set(Calendar.SECOND, 0);
? ?? ???return getDate(cal);
? ? }
? ??
? ? //獲得上周一的日期
? ? public static String getLastMondayDate(){
? ?? ???Calendar cal = Calendar.getInstance();
? ?? ???int dayPlus = getMondayPlus()+7;
? ?? ???cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH)-dayPlus);
? ?? ???cal.set(Calendar.HOUR_OF_DAY, 0);
? ?? ???cal.set(Calendar.MINUTE, 0);
? ?? ???cal.set(Calendar.SECOND, 0);
? ?? ???return getDate(cal);
? ? }
? ??
? ? //獲得上周日的日期
? ? public static String getLastSundayDate(){
? ?? ???Calendar cal = Calendar.getInstance();
? ?? ???int dayPlus = getMondayPlus()+1;
? ?? ???cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH)-dayPlus);
? ?? ???cal.set(Calendar.HOUR_OF_DAY, 23);
? ?? ???cal.set(Calendar.MINUTE, 59);
? ?? ???cal.set(Calendar.SECOND, 59);
? ?? ???return getDate(cal);
? ? }
? ??
? ? //獲得上月1號的日期
? ? public static String getLastMonthBeginDate(){
? ?? ???Calendar cal = Calendar.getInstance();
? ?? ???cal.set(Calendar.MONTH, cal.get(Calendar.MONTH)-1);
? ?? ???cal.set(Calendar.DAY_OF_MONTH,1);
? ?? ???cal.set(Calendar.HOUR_OF_DAY, 0);
? ?? ???cal.set(Calendar.MINUTE, 0);
? ?? ???cal.set(Calendar.SECOND, 0);
? ?? ???return getDate(cal);
? ? }
? ??
? ? //獲得上個月最后一天的日期
? ? public static String getLastMonthEndDate(){
? ?? ???Calendar cal = Calendar.getInstance();
? ?? ???cal.set(Calendar.DAY_OF_MONTH, 0);
? ?? ???cal.set(Calendar.HOUR_OF_DAY, 23);
? ?? ???cal.set(Calendar.MINUTE, 59);
? ?? ???cal.set(Calendar.SECOND, 59);
? ?? ???return getDate(cal);
? ? }

? ? public static void main(String[] args) {
? ?? ???System.out.println(getDate());
? ?? ???System.out.println(getThisMondayDate());
? ?? ???System.out.println(getCurrentMonthBeginDate());
? ?? ???System.out.println(getLastMondayDate());
? ?? ???System.out.println(getLastSundayDate());
? ?? ???System.out.println(getLastMonthBeginDate());
? ?? ???System.out.println(getLastMonthEndDate());
? ? }

轉載于:https://www.cnblogs.com/isoftware/p/3921827.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/258269.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/258269.shtml
英文地址,請注明出處:http://en.pswp.cn/news/258269.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

nodejs的package.json依賴dependencies中 ^ 和 ~ 的區別

nodejs的package.json定義了一個模塊&#xff0c;包括其依賴關系的一個簡單的JSON文件&#xff0c;該文件可以包含多個不同的指令來告訴Node包管理器如何處理模塊。 dependencies則表示此模塊依賴的模塊和版本&#xff0c;其中常常可以看到類似 ^1.2.0 或 ~1.2.0 這樣的版本范圍…

腳本命令_SAP HANA數據庫備份命令腳本

需求場景&#xff1a;HANA數據庫版本 2.044 &#xff0c; SYSTEMDB庫1個&#xff0c;Tenant庫有3個 PRD、POP、HAP需要用命令行備份。備份原理說明&#xff1a;1、腳本同hana studio 一樣&#xff0c;用SYSTEM用戶去備份所有的數據庫。2、備份腳本工作在數據庫管理員用戶下&…

Spring 基于Java的Bean聲明

Spring 基于Java的Bean聲明 使用Configuration進行設置&#xff1b; Xml&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <beans xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xmlns"http://www.springframework.…

手機音頻通道被占用_關于凱叔講故事APP的音頻導出下載

孩子喜歡聽凱叔講故事&#xff0c;起先是三國演義和博物學&#xff0c;在網上聽了個開頭后&#xff0c;毫不猶豫買了正版,心想著購買app可以下載音頻&#xff0c;完了拷貝到其他播放器聽。然而......然而......大失所望&#xff0c;美其名曰保護正版&#xff0c;可這么個玩意&a…

編譯安裝 apache 2.4.6

如果配置apr&#xff0c;需要預先安裝apr 以下是安裝apache 步驟: groupadd webuser useradd -g webuser webuser 下載apache2 下載鏈接&#xff1a;http://pan.baidu.com/s/1ntiGWvZ 配置 ./configure --prefix/server/apache2 \ --enable-mods-sharedmost \ --enable-so \ --…

CSS3中border-radius、box-shadow與gradient那點事兒

一、border-radius border-radius用于添加圓角邊框&#xff0c;用處非常廣泛。 1&#xff09;一個值&#xff0c;代表了四個角 .radius-one {/* Safari 3-4, iOS 1-3.2, Android 1.6- */-webkit-border-radius: 12px; /* Firefox 1-3.6 */-moz-border-radius: 12px; /* Opera 1…

編程 跳臺階_Java版劍指offer編程題第8題--跳臺階

跟learnjiawa一起每天一道算法編程題&#xff0c;既可以增強對常用API的熟悉能力&#xff0c;也能增強自己的編程能力和解決問題的能力。算法和數據結構&#xff0c;是基礎中的基礎&#xff0c;更是筆試的重中之重。不積硅步&#xff0c;無以至千里&#xff1b;不積小流&#x…

獲取漢字的首字母(轉)

轉換 獲取一個漢字的拼音首字母。 GB碼兩個字節分別減去160&#xff0c;轉換成10進制碼組合就可以得到區位碼例如漢字“你”的GB碼是0xC4/0xE3&#xff0c;分別減去0xA0&#xf…

$ionicPopup

轉自&#xff1a;http://www.ionicframework.com/docs/api/service/%24ionicPopup/ Usage A few basic examples, see below for details about all of the options available. angular.module(mySuperApp, [ionic]) .controller(PopupCtrl,function($scope, $ionicPopup, $tim…

目標規劃運籌學例題doc_運籌學之目標規劃(胡運權版).doc

運籌學之目標規劃(胡運權版).doc第七章 目標規劃1 目標規劃的提出線性規劃問題是討論一個給定的線性目標函數在一組線性約束條件下的最大值或最小值問題。對于一個實際問題&#xff0c;管理科學者根據管理層決策目標的要求&#xff0c;首先確定一個目標函數以衡量不同決策的優劣…

Deep Learning(深度學習) 學習筆記(四)

神經概率語言模型&#xff0c;內容分為三塊&#xff1a;問題&#xff0c;模型與準則&#xff0c;實驗結果。[此節內容未完待續...] 1&#xff0c;語言模型問題 語言模型問題就是給定一個語言詞典包括v個單詞&#xff0c;對一個字串做出二元推斷&#xff0c;推斷其是否符合該語言…

Java Virtual Machine

后續完善轉載于:https://www.cnblogs.com/fight-tao/p/4849167.html

selenium 鼠標懸浮_處理Selenium3+python3定位鼠標懸停才顯示的元素

先給大家介紹下Selenium3python3--如何定位鼠標懸停才顯示的元素定位鼠標懸停才顯示的元素&#xff0c;要引入新模塊# coding:utf-8from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsdriver webdriver.Firefox()driver.get(&q…

JavaScript 運行機制

JavaScript 運行機制 閱讀目錄 一、為什么JavaScript是單線程&#xff1f;二、任務隊列三、事件和回調函數四、Event Loop五、定時器六、Node.js的Event Loop七、關于setTimeout的測試一、為什么JavaScript是單線程&#xff1f; JavaScript語言是單線程&#xff0c;也就是說&am…

mysql 時間 本周 本月_mysql查詢當天、本周、上周、本月、上月信息

今天select * from 表名 where to_days(時間字段名) to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) – TO_DAYS( 時間字段名) < 17天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) < date(時間字段名)近30天SELECT * FROM 表名 wher…

android自定義倒計時控件示例

這篇文章主要介紹了Android秒殺倒計時自定義TextView示例&#xff0c;大家參考使用吧 自定義TextView控件TimeTextView代碼&#xff1a; 復制代碼 代碼如下:import android.content.Context;import android.content.res.TypedArray;import android.graphics.Paint;import andro…

Spring Cloud構建微服務架構:服務消費(Ribbon)【Dalston版】

通過上一篇《Spring Cloud構建微服務架構&#xff1a;服務消費&#xff08;基礎&#xff09;》&#xff0c;我們已經學會如何通過LoadBalancerClient接口來獲取某個服務的具體實例&#xff0c;并根據實例信息來發起服務接口消費請求。但是這樣的做法需要我們手工的去編寫服務選…

檢測是否點擊到精靈

需要給每個精靈設置tag.可以用枚舉 bool GE::GamePass::ccTouchBegan( cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent ) { const int iButtonCount 2; const int iButtonTags[iButtonCount] { GamePass_btn_share, GamePass_btn_return }; for(int i 0; i < iButt…

從gitlab上拉代碼_從gitlab上拉取代碼并一鍵部署

一、gitlab安裝GitLab是一個利用Ruby on Rails開發的開源應用程序&#xff0c;實現一個自托管的Git項目倉庫&#xff0c;可通過Web界面進行訪問公開的或者私人項目。GitLab擁有與Github類似的功能&#xff0c;能夠瀏覽源代碼&#xff0c;管理缺陷和注釋。可以管理團隊對倉庫的訪…

LPWA技術:發展物聯網的最佳選擇

物聯網時代的物物相連將會使百億以上物體連入網絡&#xff0c;這對傳統上的兩種通信技術&#xff0c;即近距離無線接入和移動蜂窩網提出了更高的要求。事實上&#xff0c;目前&#xff0c;用于物聯網發展的通信技術正在全球范圍內開發&#xff0c;低功耗廣域網通信技術(Low Pow…