Java中的時間日期處理
日常開發中對時間或者日期處理肯定層出不窮,簡單總結一下Java中時間相關的使用方法。
相關類
Date:
Date表示特定的瞬間,精確到毫秒,Date中的相應方法已廢棄,從JDK 1.1開始,應該使用Calendar類實現日期和時間欄位之間轉換。
DateFormat:
DateFormat是日期/時間格式化子類的抽象類,格式化並解析日期或時間,可以進行日期 -> 文字 ,文字-> 日期的轉換。子類SimpleDateFormat。
Calendar:
Calendar是日曆抽象類,可通過其獲取日期時間。推薦使用。
Date類基本使用
public class Test {
public static void main(String[] args) {
// 無參構造
Date date = new Date();
System.out.println(date);//Thu May 12 22:06:44 CST 2016
// 帶參構造
date = new Date(System.currentTimeMillis());
System.out.println(date);//Thu May 12 22:06:44 CST 2016
// void setTime(long time) 設定 Date 物件,以表示 1970 年 1 月 1 日 00:00:00以後time毫秒的時間點
// long getTime() 返回自 1970 年 1 月 1 日 00:00:00以來此 Date 物件表示的毫秒數
date.setTime(1000);// 1s
System.out.println(date);//Thu Jan 01 08:00:01 CST 1970
System.out.println(date.getTime());//1000
}
}
注:System.out.println(date)能夠輸出Thu May 12 22:06:44 CST 2016,是因為Date類重寫類toString()方法;date.setTime(1000)後按說應該輸出Thu Jan 01 00:00:01 CST 1970 為什麼會輸出Thu Jan 01 08:00:01 CST 1970,是因為我們是東八區。(這和系統設定的時間和時區相關)
DateFormat類基本使用
日期和時間模式
字母 日期或時間元素 表示 示例
G Era 標誌符 Text AD
y 年 Year 1996; 96
M 年中的月份 Month July; Jul; 07
w 年中的週數 Number 27
W 月份中的週數 Number 2
D 年中的天數 Number 189
d 月份中的天數 Number 10
F 月份中的星期 Number 2
E 星期中的天數 Text Tuesday; Tue
a Am/pm 標記 Text PM
H 一天中的小時數(0-23) Number 0
k 一天中的小時數(1-24) Number 24
K am/pm 中的小時數(0-11) Number 0
h am/pm 中的小時數(1-12) Number 12
m 小時中的分鐘數 Number 30
s 分鐘中的秒數 Number 55
S 毫秒數 Number 978
z 時區 General time zone Pacific Standard Time; PST; GMT-08:00
Z 時區 RFC 822 time zone -0800
常用構造方法:
SimpleDateFormat()//用預設的模式和預設語言環境的日期格式符號構造 SimpleDateFormat
SimpleDateFormat(String pattern)//用給定的模式和預設語言環境的日期格式符號構造 SimpleDateFormat
public class Test {
public static void main(String[] args) throws ParseException {
// 日期 -> 文字
Date date = new Date();
// 無參構造
DateFormat dateFormat = new SimpleDateFormat();
// format方法 將Date格式化為日期/時間字串
String time = dateFormat.format(date);
System.out.println(time);// 16-5-12 下午10:38
dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
// 帶參構造
String time2 = dateFormat.format(date);
System.out.println(time2);// 2016-05-12 10:41:38
// 文字-> 日期
String tiem3 = "2016年5月12日 22時47分15秒";
Date date2 = new Date();
//模式一定要和文字格式相同 包括空格數
DateFormat dateFormat2 = new SimpleDateFormat("yyyy年MM月dd日 hh時mm分ss秒");
//parse()從給定字串的開始解析文字,以生成一個日期
date2 = dateFormat2.parse(tiem3);
System.out.println(date2);//Thu May 12 22:47:15 CST 2016
}
}
Calendar基本使用
常用欄位:
YEAR 年
MONTH 月份 (0-11)
DAY_OF_MONTH 一個月中的某天
HOUR_OF_DAY 一天中的小時
MINUTE 分鐘
SECOND 秒
AM 上午
PM 下午
常用方法:
int get(int field)//返回給定日曆欄位的值
abstract void add(int field, int amount)//根據日曆的規則,為給定的日曆欄位新增或減去指定的時間量
void set(int field, int value)//將給定的日曆欄位設定為給定值
void set(int year, int month, int date)//設定日曆欄位 YEAR、MONTH 和 DAY_OF_MONTH 的值
void set(int year, int month, int date, int hourOfDay, int minute)//設定日曆欄位 YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY 和 MINUTE 的值
id set(int year, int month, int date, int hourOfDay, int minute, int second)//設定欄位 YEAR、MONTH、DAY_OF_MONTH、HOUR、MINUTE 和 SECOND 的值
public class Test {
public static void main(String[] args) throws ParseException {
//獲取功能
//getInstance方法返回Calendar物件,其日曆欄位已由當前日期和時間初始化
Calendar calendar=Calendar.getInstance();
//獲取年
int year=calendar.get(Calendar.YEAR);
//獲取月
int month=calendar.get(Calendar.MONTH);
//獲取日
int day=calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "-" + (month + 1) + "-" + day);//2016-5-12
//add功能
calendar.add(Calendar.YEAR, 1);
System.out.println(calendar.get(Calendar.YEAR));//2017
calendar.add(Calendar.MONTH, 7);
System.out.println(calendar.get(Calendar.MONTH));//11
calendar.add(Calendar.DAY_OF_MONTH, -12);//由於今日就是12日,-12所以會進入前一個月
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//30
System.out.println(calendar.get(Calendar.YEAR)+"-"+calendar.get(Calendar.MONTH)+"-"+calendar.get(Calendar.DAY_OF_MONTH));//2017-10-30
//set功能
//2008年5月12日(星期一)14時28分04秒
calendar.set(2008, 4, 12, 14, 28,04);
System.out.println(calendar.get(Calendar.YEAR)+"-"+(calendar.get(Calendar.MONTH)+1)+"-"+calendar.get(Calendar.DAY_OF_MONTH));//2008-5-12
}
}
更多方法檢視API
相關推薦
Java中的時間日期處理
日常開發中對時間或者日期處理肯定層出不窮,簡單總結一下Java中時間相關的使用方法。 相關類 Date: Date表示特定的瞬間,精確到毫秒,Date中的相應方法已廢棄,從JDK 1.1開
java中時間處理
ins hang 獲取 span cep color rac getc pan import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; i
Django中的日期處理註意事項和自定義時間格式轉換
python django datetime 我們在用Django創建models時,常常會涉及時間日期字段的處理,Django裏日期相關Field有DateTimeField、DateField和TimeField三種類型,看似簡單,但其中有一些容易出錯的地方需要註意;另外,如果不習慣Djang
Java 中時間處理 System.currentTimeMillis()
void ring row mem long long -m throws mes sim import org.testng.annotations.Test;import java.text.ParseException;import java.text.SimpleD
關於java和javascript互動中的日期處理問題彙總
javascript部分 分兩種情況: —-後臺接收long型 ——–js處理 (new Date()).getTime()//Date轉long,預設new Date()可以把當前日期時間精確到秒 輸出結果:1455862677881//即2016/2/19 14:17:5
java時間日期處理
創作不易,請勿抄襲,轉載請註明出處。如有疑問,請加微信 wx15151889890,謝謝。 [本文連結:]https://blog.csdn.net/wx740851326/article/details/https://blog.csdn.net/wx740851326/article
Java 中的日期與時間
基礎知識 日期: 類似於 2018-12-12 時間: 類似於 2018-12-12 12:12:12 時刻: 類似於 2018-12-12 12:12:12 地區: 計算機中的 Locale, 如 zh_CN, en_US 等, 影響著對於日期, 時間, 貨幣等格式的顯示 Epoch
Spring Boot和Feign中使用Java 8時間日期API(LocalDate等)的序列化問題
LocalDate、LocalTime、LocalDateTime是Java 8開始提供的時間日期API,主要用來優化Java 8以前對於時間日期的處理操作。然而,我們在使用Spring Boot或使用Spring Cloud Feign的時候,往往會發現使用請求引數或返回結
Java系統中時間封裝處理
package com.cloud.util; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import
Java中的日期、時間操作
boolean form cal bool 時間格式 exception system orm str2 每次在處理日期時間的時候都要打開chrome查找一番,索性自己找一下滿意的記錄下來。 一、時間格式 // hh表示12小時制; HH表示24小時制 SimpleDate
整理總結 python 中時間日期類資料處理與型別轉換(含 pandas)
我自學 python 程式設計並付諸實戰,迄今三個月。 pandas可能是我最高頻使用的庫,基於它的易學、實用,我也非常建議朋友們去嘗試它。——尤其當你本身不是程式設計師,但多少跟表格或資料打點交道時,pandas 比 excel 的 VBA 簡單優雅多了。 pandas 善於處理表格類資料,而我日常接觸的資
Java中時間
class api文檔 ast 天數 時間差 minimal bsp settime throw /** *觀看API文檔學習:Date中很多方法失效;Calendar頂替。 * **/import java.text.DateFormat;import java.t
java中的異常處理
功能 編譯 重寫 exce 有一個 人人 關系 構造 per 計算機語言程序開發中異常幾乎是人人都會出現的問題,可以這麽說:沒有沒有異常的程序!所以,計算機語言中異常處理是十分重要的一塊,糾錯能力也是每個程序員必須具備的基本能力! 異常處理的三種處理方式: 一、
Java實現時間日期格式轉換示例
simple ati except else ktr new bsp 時間 .text package com.hanqi.util; import java.text.ParseException; import java.text.SimpleDateFormat;
JAVA中關於日期的最常見的操作
before 基於 form edate str ack system mes 格式 //獲取當前系統的時間戳 long times = System.currentTimeMillis(); //創建一個當前日期對象 Da
js中時間的處理
頁面 http time .net ref 字符 sdn rip span 轉自 : http://blog.csdn.net/xichenguan/article/details/45512541 //將格林時間轉換成字符串格式的,用於顯示帶頁面 time : 格林時間
【C#】淺析C#中的日期處理
see var time tostring 靈活性 ide format tin 介紹 1.字符串轉化為日期 1.1第一種方式 使用 Convert.toDateTime 方法,該方法有很多重載方法,這裏筆者就介紹兩個常用的重載方法。 第一種: 使用: Con
Java中的異常處理機制
條件 order 什麽是 浪費 sun color 越界 details 區域 基本框架如下Java中的異常處理機制只要實現自Throwable接口,繼承關系如下: 如上圖可以看出這個機制的處理對象主要分為兩種:主要區別error 表示恢復不是不可能但很困難的情況下的
Java 8 時間日期庫的20個使用演示樣例
行處理 day data- 替換 獲取當前的年月 靜態方法 2014年 習慣 function 除了lambda表達式,stream以及幾個小的改進之外,Java 8還引入了一套全新的時間日期API,在本篇教程中我們將通
初探Java中的異常處理
html try語句 捕獲 內部錯誤 b2c log fcm src size ? Java中的異常有以下幾種: 1)?Error:Java運行時的內部錯誤。 2)