java時間方法_JAVA處理日期時間常用方法

轉載JAVA處理日期時間常用方法:

1.java.util.Calendar

Calendar 類是一個抽象類,它為特定瞬間與一組諸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日歷字段之間的轉換提供了一些方法,并為操作日歷字段(例如獲得下星期的日期)提供了一些方法。瞬間可用毫秒值來表示,它是距歷元(即格林威治標準時間 1970 年 1 月 1 日的 00:00:00.000,格里高利歷)的偏移量。

例:

Java代碼 6abde800557a8d1c0ad9dec99593ab63.gif?3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

Calendar?cal?=?Calendar.getInstance();//使用默認時區和語言環境獲得一個日歷。

cal.add(Calendar.DAY_OF_MONTH,?-1);//取當前日期的前一天.

cal.add(Calendar.DAY_OF_MONTH,?+1);//取當前日期的后一天.

//通過格式化輸出日期

java.text.SimpleDateFormat?format?=newjava.text.SimpleDateFormat("yyyy-MM-dd");

System.out.println("Today?is:"+format.format(Calendar.getInstance().getTime()));

System.out.println("yesterday?is:"+format.format(cal.getTime()));

Calendar cal = Calendar.getInstance();//使用默認時區和語言環境獲得一個日歷。

cal.add(Calendar.DAY_OF_MONTH, -1);//取當前日期的前一天.

cal.add(Calendar.DAY_OF_MONTH, +1);//取當前日期的后一天.

//通過格式化輸出日期

java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");

System.out.println("Today is:"+format.format(Calendar.getInstance().getTime()));

System.out.println("yesterday is:"+format.format(cal.getTime()));

得到2007-12-25日期:

Java代碼 6abde800557a8d1c0ad9dec99593ab63.gif?3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

Calendar?calendar?=newGregorianCalendar(2007,11,25,0,0,0);

Date?date?=?calendar.getTime();

System.out.println("2007?Christmas?is:"+format.format(date));

Calendar calendar = new GregorianCalendar(2007, 11, 25,0,0,0);

Date date = calendar.getTime();

System.out.println("2007 Christmas is:"+format.format(date));

java月份是從0-11,月份設置時要減1.

GregorianCalendar構造方法參數依次為:年,月-1,日,時,分,秒.

取日期的部分:

Java代碼 6abde800557a8d1c0ad9dec99593ab63.gif?3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

intyear?=calendar.get(Calendar.YEAR);

intmonth=calendar.get(Calendar.MONTH)+1;

intday?=calendar.get(Calendar.DAY_OF_MONTH);

inthour?=calendar.get(Calendar.HOUR_OF_DAY);

intminute?=calendar.get(Calendar.MINUTE);

intseconds?=calendar.get(Calendar.SECOND);

int year =calendar.get(Calendar.YEAR);

int month=calendar.get(Calendar.MONTH)+1;

int day =calendar.get(Calendar.DAY_OF_MONTH);

int hour =calendar.get(Calendar.HOUR_OF_DAY);

int minute =calendar.get(Calendar.MINUTE);

int seconds =calendar.get(Calendar.SECOND);

取月份要加1.

判斷當前月份的最大天數:

Java代碼 6abde800557a8d1c0ad9dec99593ab63.gif?3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

Calendar?cal?=?Calendar.getInstance();

intday=cal.getActualMaximum(Calendar.DAY_OF_MONTH);

System.out.println(day);

Calendar cal = Calendar.getInstance();

int day=cal.getActualMaximum(Calendar.DAY_OF_MONTH);

System.out.println(day);

2.java.util.Date

Java代碼 6abde800557a8d1c0ad9dec99593ab63.gif?3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

java.util.Date?today=newjava.util.Date();

System.out.println("Today?is?"+formats.format(today));

java.util.Date today=new java.util.Date();

System.out.println("Today is "+formats.format(today));

取當月的第一天:

Java代碼 6abde800557a8d1c0ad9dec99593ab63.gif?3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

java.text.SimpleDateFormat?format?=newjava.text.SimpleDateFormat("yyyy-MM-01");

java.util.Date?firstDay=newjava.util.Date();

System.out.println("the?month?first?day?is?"+formats.format(firstDay));

java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-01");

java.util.Date firstDay=new java.util.Date();

System.out.println("the month first day is "+formats.format(firstDay));

取當月的最后一天:

Java代碼 6abde800557a8d1c0ad9dec99593ab63.gif?3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

Calendar?cal?=?Calendar.getInstance();

intmaxDay=cals.getActualMaximum(Calendar.DAY_OF_MONTH);

java.text.Format?formatter3=newjava.text.SimpleDateFormat("yyyy-MM-"+maxDay);

System.out.println(formatter3.format(cal.getTime()));

Calendar cal = Calendar.getInstance();

int maxDay=cals.getActualMaximum(Calendar.DAY_OF_MONTH);

java.text.Format formatter3=new java.text.SimpleDateFormat("yyyy-MM-"+maxDay);

System.out.println(formatter3.format(cal.getTime()));

求兩個日期之間相隔的天數:

Java代碼 6abde800557a8d1c0ad9dec99593ab63.gif?3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

java.text.SimpleDateFormat?format?=newjava.text.SimpleDateFormat("yyyy-MM-dd");

java.util.Date?beginDate=?format.parse("2007-12-24");

java.util.Date?endDate=?format.parse("2007-12-25");

longday=(date.getTime()-mydate.getTime())/(24*60*60*1000);

System.out.println("相隔的天數="+day);

java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");

java.util.Date beginDate= format.parse("2007-12-24");

java.util.Date endDate= format.parse("2007-12-25");

long day=(date.getTime()-mydate.getTime())/(24*60*60*1000);

System.out.println("相隔的天數="+day);

一年前的日期:

Java代碼 6abde800557a8d1c0ad9dec99593ab63.gif?3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

java.text.Format?formatter=newjava.text.SimpleDateFormat("yyyy-MM-dd");

java.util.Date?todayDate=newjava.util.Date();

longbeforeTime=(todayDate.getTime()/1000)-60*60*24*365;

todayDate.setTime(beforeTime*1000);

String?beforeDate=formatter.format(todayDate);

System.out.println(beforeDate);

java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd");

java.util.Date todayDate=new java.util.Date();

long beforeTime=(todayDate.getTime()/1000)-60*60*24*365;

todayDate.setTime(beforeTime*1000);

String beforeDate=formatter.format(todayDate);

System.out.println(beforeDate);

一年后的日期:

Java代碼 6abde800557a8d1c0ad9dec99593ab63.gif?3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

java.text.Format?formatter=newjava.text.SimpleDateFormat("yyyy-MM-dd");

java.util.Date?todayDate=newjava.util.Date();

longafterTime=(todayDate.getTime()/1000)+60*60*24*365;

todayDate.setTime(afterTime*1000);

String?afterDate=formatter.format(todayDate);

System.out.println(afterDate);

java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd");

java.util.Date todayDate=new java.util.Date();

long afterTime=(todayDate.getTime()/1000)+60*60*24*365;

todayDate.setTime(afterTime*1000);

String afterDate=formatter.format(todayDate);

System.out.println(afterDate);

求10小時后的時間

Java代碼 6abde800557a8d1c0ad9dec99593ab63.gif?3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

java.util.Calendar?Cal=java.util.Calendar.getInstance();

Cal.setTime(dateOper);

Cal.add(java.util.Calendar.HOUR_OF_DAY,10);

System.out.println("date:"+forma.format(Cal.getTime()));

java.util.Calendar Cal=java.util.Calendar.getInstance();

Cal.setTime(dateOper);

Cal.add(java.util.Calendar.HOUR_OF_DAY,10);

System.out.println("date:"+forma.format(Cal.getTime()));

求10小時前的時間

Java代碼 6abde800557a8d1c0ad9dec99593ab63.gif?3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

java.util.Calendar?Cal=java.util.Calendar.getInstance();

Cal.setTime(dateOper);

Cal.add(java.util.Calendar.HOUR_OF_DAY,-10);

System.out.println("date:"+forma.format(Cal.getTime()));

java.util.Calendar Cal=java.util.Calendar.getInstance();

Cal.setTime(dateOper);

Cal.add(java.util.Calendar.HOUR_OF_DAY,-10);

System.out.println("date:"+forma.format(Cal.getTime()));

3.java.sql.Date

繼承自java.util.Date,是操作數據庫用的日期類型

Java代碼 6abde800557a8d1c0ad9dec99593ab63.gif?3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

java.sql.Date?sqlDate?=newjava.sql.Date(java.sql.Date.valueOf("2007-12-25").getTime());

java.sql.Date sqlDate = new java.sql.Date(java.sql.Date.valueOf("2007-12-25").getTime());

日期比較:簡單的比較可以以字符串的形式直接比較,也可使用

java.sql.Date.valueOf("2007-03-08").compareTo(java.sql.Date.valueOf("2007-03-18"))方式來比較日期的大小.也可使用java.util.Date.after(java.util.Date)來比較.

相差時間:

long difference=c2.getTimeInMillis()-c1.getTimeInMillis();

相差天數:long day=difference/(3600*24*1000)

相差小時:long hour=difference/(3600*1000)

相差分鐘:long minute=difference/(60*1000)

相差秒: long second=difference/1000

補充:

Java代碼 6abde800557a8d1c0ad9dec99593ab63.gif?3f2a935d9baa59ee96bb927b3e226953.png

d95377cce76b5516c7e4364a4679c294.gif

DateFormat?df=newSimpleDateFormat("yyyy-MM-dd?EE?hh:mm:ss");

System.out.println(df.format(newDate()));

Date?date?=newDate();

DateFormat?shortDate=DateFormat.getDateTimeInstance(DateFormat.SHORT,?DateFormat.SHORT);

DateFormat?mediumDate?=DateFormat.getDateTimeInstance(DateFormat.MEDIUM,?DateFormat.MEDIUM);

DateFormat?longDate?=DateFormat.getDateTimeInstance(DateFormat.LONG,?DateFormat.LONG);

DateFormat?fullDate?=DateFormat.getDateTimeInstance(DateFormat.FULL,?DateFormat.FULL);

system.out.println(shortDate.format(date));

System.out.println(mediumDate.format(date));

System.out.println(longDate.format(date));

System.out.println(fullDate.format(date));

08-4-15下午3:24

2008-4-1515:24:31

2008年4月15日?下午03時24分31秒

2008年4月15日?星期二?下午03時24分31秒CST

Calendar?c?=?Calendar.getInstance();

c.add(Calendar.MONTH,1);//?目前時間加1個月

System.out.println(df.format(c.getTime()));

c.add(Calendar.HOUR,3);//?目前時間加3小時

System.out.println(df.format(c.getTime()));

c.add(Calendar.YEAR,?-2);//?目前時間減2年

System.out.println(df.format(c.getTime()));

c.add(Calendar.DAY_OF_WEEK,7);//?目前的時間加7天

System.out.println(df.format(c.getTime()));

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

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

相關文章

python氣象_Python 在氣象上的應用

Python 在氣象上的應用0.7892019.03.15 23:19:31字數 913閱讀 1,024為什么選擇python功能齊全的編程語言,真正面向對象喜歡可讀的代碼出版質量圖繪制輕松讀/寫netcdf和grib數據輕松使用Fortran / C / C 廣泛的庫支持數字和非數字工作科學計算1.Numpy  Numpy是pyth…

雙飛翼布局內容不換行_web前端入門到實戰:圣杯布局和雙飛翼布局

稍微了解前端的人都知道,圣杯布局和雙飛翼布局是前端面試時必問的問題,因為它既能體現你懂HTML結構又能體現出你對DIVCSS布局的掌握,畢竟我們學習CSS主要就是為了更好地布局帶來最好的用戶體驗嘛~事實上,圣杯布局其實和…

java 去掉 t_關于Java:在LocalDateTime中不能刪除“ T”

這是問題所在:GetMapping("/main/search")public String search (RequestParam String departure,RequestParam String arrival,RequestParam String departureTime,Model model) {DateTimeFormatter formatter DateTimeFormatter.ofPattern("yyyy-…

數據結構知識點總結_大牛帶你學 | 考研數據結構中線性表中順序結構的知識點總結...

前言我們都知道,數據結構中邏輯結構可以劃分為線性結構(線性表)與非線性結構兩大類。而存儲結構指的是數據元素在計算機中的存儲及其邏輯關系的表現,也就是在計算機當中對邏輯結構的表示。線性表的存儲結構主要有順序結構和鏈式結構兩種實現形式。本文主…

java矩形翻轉_如何判斷一個點在旋轉后的矩形中

前言最近在做的一款游戲中,用到點與旋轉矩形的判定來獲得一個選中的物體。在此做個記錄如圖所示,黃色的顏料屏是旋轉的,如果不做處理直接判斷點是否在矩形中,那么點擊紅點的位置會判定為選中物體。顯然這是不對的。如果物體沒有旋…

python中用函數設計棧的括號匹配問題_數據結構和算法(Python版):利用棧(Stack)實現括號的匹配問題...

算法數據結構數據結構和算法(Python版):利用棧(Stack)實現括號的匹配問題在平時寫程序當中,我們會經常遇到程序當中括號的匹配問題,也就是在程序當中左括號的數量和右括號的數量必須相等。如果不相等的話則程序必然會報錯。Hint:在讀取程序的…

python創建空元組_Python——元組的基本語法(創建、訪問、修改、刪除)

原標題:Python——元組的基本語法(創建、訪問、修改、刪除)Python 元組的使用Python 的元組與列表類似,不同之處在于元組的元素不能修改。元組使用小括號 ( ),列表使用方括號 [ ]。元組創建很簡單,只需要在括號中添加元素&#xf…

openssl 生成證書_CentOS7 httpd(Apache)SSL 證書部署

在之前我的文章中我已經搭建了nextcloud服務器,現在我們需要通過域名及https訪問怎么辦1. 進行了簡單的httpd設置后,就可以為網站添加SSL證書功能了。2. 首先得獲取證書,有了證書才能添加。我們采用本地上傳的方式將SSL證書上傳到CentOS上。獲…

FJ的字符串java問題_藍橋杯VIP試題 之 基礎練習 FJ的字符串- JAVA

問題描述FJ在沙盤上寫了這樣一些字符串:A1 “A”A2 “ABA”A3 “ABACABA”A4 “ABACABADABACABA”… …你能找出其中的規律并寫所有的數列AN嗎?輸入格式僅有一個數:N ≤ 26。輸出格式請輸出相應的字符串AN,以一個換行符結束。…

java仿qq gui_Java仿QQ登入頁面

1.[代碼][Java]代碼package com.myqq.frame;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Cursor;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.Image;import java.awt.event.MouseAdapter;import ja…

python數據預處理 重復行統計_Python數據分析之數據預處理(數據清洗、數據合并、數據重塑、數據轉換)學習筆記...

1. 數據清洗1.1 空值和缺失值的處理?空值一般表示數據未知、不適用或將在以后添加數據。缺失值是指數據集中某個或某些屬性的值是不完整的。?一般空值使用None表示,缺失值使用NaN表示1.1.1 使用isnull()和notnull()函數?可以判斷數據集中是否存在空值和缺失值1.1…

java編寫系統登錄界面_java 登陸界面怎么寫,連接數據庫后

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓界面是package 界面類;import javax.jws.soap.SOAPBinding.Use;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing…

python如何復制oracle數據_Python使用cx_Oracle模塊將oracle中數據導出到csv文件的方法...

本文實例講述了Python使用cx_Oracle模塊將oracle中數據導出到csv文件的方法。分享給大家供大家參考。具體實現方法如下:# Export Oracle database tables to CSV files# FB36 - 201007117import sysimport csvimport cx_Oracleconnection raw_input("Enter Or…

JAVA構造函數是不是封裝_Java 封裝與構造函數

面向對象思想思想的三個特征:封裝,繼承,多態。封裝:表現:函數就是一個最基本的封裝體,類也是一個封裝體。好處:1、提高了代碼的復用性,2、隱藏了實現細節,可以對外提供可…

python獲取mysql數據為excel中的sheet_python 從excel、csv、mysql、txt獲取數據源

使用python進行數據分析工作的第一步是獲取數據源,數據源來可能來自于excel、txt、csv文件、mysql數據庫。分別看看這些數據源怎么導入到python中。1. Excel 數據源導入python首先導入pandas 模塊import pandas as pdexcel 導入格式為:pd.read_excel( 路…

我的世界seus光影java版下載_我的世界0.17SEUS PE光影材質包(水反高清)下載

我的世界0.17SEUS PE光影材質包已經震撼發布,隨著我的世界pe0.17系列版本瘋狂的出現,很多玩家都有點開始不適應了,畢竟這個更新的頻率和速度太快了,0.16.0版本還沒有玩夠了,下面給大家提供我的世界0.17SEUS PE光影材質…

針式打印機風格英文字體_可愛漂亮的圣誕節和新年賀卡藝術字體推薦!

圣誕節即將到來,各種相應的促銷活動和宴會搞起來,今天macz小編為您帶來幾款風格可愛漂亮的圣誕節和新年賀卡藝術字體推薦!可以用于卡片、海報、邀請函、徽標、產品介紹、T恤等,效果魅力非常哦!可愛漂亮的圣誕節和新年賀…

golang mysql curd_用 golang 造了個 curd api 的輪子

最近需要寫個接口的項目 準備順便熟悉一下 golang在 github 找了下 golang 的 resetful 接口項目 大部分需要對每張表定義一個 model 文件所以就造了個輪子 不需要定義 model 類型的 curd 接口基于 gin 框架 只支持 mysql只需要改下 config/db.go 數據庫配置文件就能直接 go ru…

miniui展示日歷能點擊_2020年日歷設計,除了366天有新字體,還有新形式

點擊上方藍字,把我設置為星標☆吧今天是12月1日,距離2020年還有最后一個月。在我們度過的日子中,我們應該銘記每一天,每一個日子。講究儀式感的人,才是生活真正的智者。那么,對于2020年的日歷,應…

fopen php 讀取_PHP使用fopen與file_get_contents讀取文件實例分享

php中讀取文件可以使用fopen和file_get_contents這兩個函數,二者之間沒有本質區別,只是前者讀取文件的php代碼相比后者要復雜一點。本文章通過實例向大家講解fopen和file_get_contents讀取文件的實現代碼。需要的碼農可以參考一下。fopen讀取文件的代碼如…