Java獲取上一周、上一個月、上一年的時間

SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
Calendar c = Calendar.getInstance();

1.過去七天

c.setTime(new Date());
c.add(Calendar.DATE, - 7);
Date d = c.getTime();
String day = format.format(d);
System.out.println(“過去七天:”+day);

2.過去一月

c.setTime(new Date());
c.add(Calendar.MONTH, -1);
Date m = c.getTime();
String mon = format.format(m);
System.out.println(“過去一個月:”+mon);

3.過去三個月

c.setTime(new Date());
c.add(Calendar.MONTH, -3);
Date m3 = c.getTime();
String mon3 = format.format(m3);
System.out.println(“過去三個月:”+mon3);

4.過去一年

c.setTime(new Date());
c.add(Calendar.YEAR, -1);
Date y = c.getTime();
String year = format.format(y);
System.out.println(“過去一年:”+year);

5.現在時間24小時制

SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
String nowDate=format.format(new Date());
System.out.println(nowDate);

6.當天的開始時間

SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);
Calendar c = Calendar.getInstance();
String start = format.format(c.getTime())+" 00:00:00";
System.out.println(start);

7.當天的截止時間

SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);
Calendar calendar = Calendar.getInstance();
String end = format.format(calendar.getTime())+" 23:59:59";
System.out.println(end);

8.當前時間的前一個星期 開始時間

SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);
Calendar c = Calendar.getInstance();
c.add(Calendar.DAY_OF_MONTH, -6);
String start = format.format(c.getTime())+" 00:00:00";
System.out.println(start);

9.當天日期前一個月

SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);
Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, -1); //得到前一個月
String start = format.format(c.getTime())+" 00:00:00";
System.out.println(start);

10.當前時間的前一年開始時間

SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);
Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR, -1); //年份減1
String start =format.format(c.getTime())+" 00:00:00";
System.out.println(start);

11.當前時間的周一時間和周末時間 setfirstdayofweek()方法

SimpleDateFormat format = new SimpleDateFormat(“YYYY-MM-dd “);
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
String weekStart = format.format(c.getTime())+00:00:00;
System.out.println(weekStart);
Calendar ca = Calendar.getInstance();
ca.setFirstDayOfWeek(Calendar.MONDAY);
ca.set(Calendar.DAY_OF_WEEK, ca.getFirstDayOfWeek() + 6); // Sunday
String weekEnd = format.format(ca.getTime())+" 23:59:59";
System.out.println(weekEnd);

12.當前時所在月份的第一天和最后一天

SimpleDateFormat format=new SimpleDateFormat(“yyyy-MM-dd”);
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_MONTH,1);//設置為1號,當前日期既為本月第一天
String monthStart = format.format(c.getTime())+" 00:00:00";
System.out.println(monthStart);
Calendar ca = Calendar.getInstance();
ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));
String monthEnd = format.format(ca.getTime())+" 23:59:59";
System.out.println(monthEnd);

13.當期時間所在年份的開始時間

SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);
Calendar c = Calendar.getInstance();
c.set(c.get(Calendar.YEAR) ,0, 1);//開始時間日期
String yearStart = format.format(c.getTime())+" 00:00:00";
System.out.println(yearStart);
Calendar ca = Calendar.getInstance();
ca.set(ca.get(Calendar.YEAR) ,11, ca.getActualMaximum(Calendar.DAY_OF_MONTH));//結束日期
String yearEnd = format.format(ca.getTime())+" 23:59:59";
System.out.println(yearEnd);

14.計算時間差取得兩個時間的微秒級的時間差

//得微秒級時間差
long val = calendarEnd.getTimeInMillis() - calendarBegin.getTimeInMillis();
//換算后得到天數
long day = val / (1000 * 60 * 60 * 24);

15.獲取某個時間的上周一和周日

Calendar cal = Calendar.getInstance();
//n為推遲的周數,1本周,-1向前推遲一周,2下周,依次類推
int n = 1;
String monday;
cal.add(Calendar.DATE, n*7);
//想周幾,這里就傳幾Calendar.MONDAY(TUESDAY…)
cal.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
monday = new SimpleDateFormat(“yyyy-MM-dd”).format(cal.getTime());
System.out.println(monday);

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

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

相關文章

遠程網絡安裝RHEL5

一:Linux安裝工作原理 眾所周知,在安裝過程中Linux首先需要一個引導程序來讓安裝光盤啟動,再實行配置與安裝。但目前轉化為遠程網絡安裝那么就需要我們的安裝程序能夠遠程地通過網絡傳送給客戶端。因此在搭建遠程Linux安裝服務器時候首先要值…

sed命令操作

sed 是一種數據流編輯器,它一次處理一行內容,處理時,把當前處理的行存儲在臨時緩沖區(pattern space稱為“模式空間”)中,在內存中處理,完成后把該行發送到屏幕上,清理pattern space中的內容,接著重復剛才的動作,讀入下一行,直到文件處理結束。文件內容并沒有 改變,…

Portainer簡介及部署

一、介紹 Portainer是Docker的圖形化管理工具,提供狀態顯示面板、應用模板快速部署、容器鏡像網絡數據卷的基本操作(包括上傳下載鏡像,創建容器等操作)、事件日志顯示、容器控制臺操作、Swarm集群和服務等集中管理和操作、登錄用…

Nexus搭建Maven私有倉庫

一、使用Docker安裝Nexus 1、查詢當前有哪些Nexus鏡像 docker search nexus2、下載sonatype/nexus3 docker pull docker.io/sonatype/nexus33、運行nexus容器 mkdir -p /usr/local/nexus3/nexus-data #新建掛載目錄 chown -R 200 /usr/local/nexus3/nexus-datadocker run -…

VI資料收集

1.6.1 vi 的工作模式Vi 在初始啟動后首先進入編輯模式,這時用戶可以利用一些預先定義的按鍵來移動光標、刪除文字、復制或粘貼文字等。這些按鍵均是普通的字符,例如 l 是向右移動光標,相當于向右箭頭鍵,k 是向下移動光標&#xff…

linux終端

終端就是處理計算機主機輸入輸出的一套設備,它用來顯示主機運算的輸出,并且接受主機要求的輸入,典型的終端包括顯示器鍵盤套件,打印機打字機套件等 linux終端類型終端名稱標識含義串行端口終端Serial Port Terminal/dev/ttySx 串行…

日常問題——VMware下的CentOS7 Ping不通百度

問題描述: 在VMware下新創建的CentOS ping 不通百度 解決方案: 1、點擊VMware的編輯按鈕下的虛擬網絡編輯器 2、更改設置后,選擇NAT類型,點擊NAT設置 3、記錄下,子網ip,掩碼,網管IP信息 4、…

linux查找文件find

查找命令文件whatis 從path還從man中查找which 從path環境變量中查找文件查找locate /var/lib/mlocate/mlocate.db 通過update更新數據庫 find 默認動作是 -print -ls -delete -ok -exec 命令 {} \; -name根據文件名查找-iname忽略大小寫-size根據文件及目錄大小查找…

linux下用ntp對時

更新系統時間的命令用&#xff1a;ntpdate <時間服務器>教育網下常用的時間服務器有s1a.time.edu.cn&#xff0c;或者210.72.145.44ntpdate 210.72.145.44更多教育下的時間服務器可在這里找到&#xff1a; http://www.time.edu.cn/mem.htm。如果想讓系統退出時的把時間寫…

CentOS7.6下安裝Ambari

一、準備工作 1.1、準備三臺CentOS 1.2、配置靜態IP、DNS vi /etc/sysconfig/network-scripts/ficfg-ens33IPADDR為 配置的ip NETMASK 子網掩碼 GATEWAY 網關 配置保存后重啟虛擬網絡 service network restart1.3、配置Hostname vi /etc/hostname#將第一行替換成新名字 m…

多主機推送公鑰、修改配置、修改密碼腳本

推送公鑰&#xff1a; !#/bin/bash if [! -f ~/.ssh/id_rsa ] ;thenssh-keygen -P "" -f ~/.ssh/id_rsa fifor i in seq 100 do {ip192.168.1.$iping -c1 $ip &>/dev/nullif [ $? -eq 0];thenecho $ip |tee addreee/usr/bin/expect<<-EOFset time 10…

shell生活序

從編程語言的觀點看linux shell-變量的作用域&#xff0c;環境變量&#xff0c;位置變量我們仍以BASH 為討論的shell 語言每一種編程語言中&#xff0c;我們都會碰到變量的作用域的問題。&#xff08;比如在函數中定義的變量在函數外不能使用的)BASH 中也有類似的問題&#xff…

linux下安裝phantomjs

PhantomJS俗稱為&#xff1a;無界面的瀏覽器。 PhantomJS是一個基于webkit的JavaScript API。它使用QtWebKit作為它核心瀏覽器的功能&#xff0c;使用webkit來編譯解釋執行JavaScript代碼。任何你可以在基于webkit瀏覽器做的事情。 1、下載安裝包 官網下載地址&#xff1a;htt…

shell 生活0806012145

引用&#xff1a;        學習 Shell Scripts 如果您真的很想要走信息這條路&#xff0c;并且想要好好的管理好屬于您的主機&#xff0c;那么&#xff0c;別說鳥哥不告訴您&#xff0c; Shell Scripts 真的是必須要學習的一項課題呢&#xff01;基本上&#xff0c; shel…

linux系統啟動流程詳解

一、MBR的概念 主引導扇區位于硬盤的0磁道0柱面1扇區,共512bytes,可存放一小段程序及主分區表,由三大部分組成: 硬盤主引導記錄MBR(Master Boot Record)占446bytes 分區表DPT(Disk Partition Table)占64bytes 硬盤有效標志(Magic Number)占2bytes。 硬盤…

linux下安裝davinci

官網地址 https://edp963.github.io/davinci/ 1、準備 JDK 1.8&#xff08;或更高版本&#xff09; MySql5.5&#xff08;或更高版本&#xff09; Mail Server (本人測試可以不用安裝) phantomjs 或 chrome&#xff08;需同時安裝chromedriver&#xff0c;清注意版本&#xf…

GRUB詳解

一、GRUB介紹 GRUB (GRand Unified Bootloader)是GNU 下的FSF 組織所推行的一套多重開機管理軟件,目前 GRUB 在 Linux 上使用的版本為 0.97 版,FSF 的官方網站表示已經不會在此版本上再追加任何新的功能,會將心思放在 GRUB 2 上。 GNU GRUB(GRand Unified Bootloader)是一…

好用的yum

從Windows轉到Linux下面&#xff0c;一個不習慣的地方就是在圖形界面下安裝和刪除軟件的時候非常緩慢。但是如果你掌握了用yum的命令行模式進行配置程序&#xff0c;你肯定會從心底喜歡上這個強大的工具。因為yum提供了查找、安裝、刪除某一個、一組甚至全部軟件包的命令&#…

Ambari系統架構

一、Ambari系統架構 Ambari框架采用的是Server/Client的模式&#xff0c;主要由兩部分組成&#xff1a;ambari-agent和ambari-server。ambari依賴其它已經成熟的工具&#xff0c;例如其ambari-server 就依賴python&#xff0c;而ambari-agent還同時依賴ruby, puppet&#xff0…

Linux系統的基本安裝

一、制作Linux安裝啟動盤 1.準備一個干凈的U盤&#xff0c;格式化。 2.下載64位系統鏡像&#xff1a;rhel-server-6.8-x86_64-dvd.iso。64位系統直接安裝就好&#xff0c; 3.首先制作一個啟動盤&#xff0c;解壓rhel-server-6.8-i386-dvd.iso文件 4.下載安裝UltraISO&#…