java字元串日期格式化
⑴ 介紹String 字元串中日期格式化方法
【實例描述】
在輸出日期信息時,經常需要輸出不同格式的日期格式。本實例介紹了String 字元串中日期格式化方法,使用不同的方式輸出String 類的日期格式參數值,組合這些值實現特殊格式的日期字元串。實例的運行效果如圖4.10 所示。
【實現過程】
在Eclipse 中新建項目DateString,並在其中創建一個DateString.java 文件。在該類的主方法中通過實例化的方法對當前日期進行實例化,然後再通過各種format()方法格式化today 日期對象。核心代碼如下所示:
public class DateString {public static void main(String[] args) {Date today = new Date();// 格式化後的字元串為月份的英文縮寫String a = String.format(Locale.US, "%tb", today);System.out.println("格式化後的字元串為月份的英文縮寫: " + a);// 格式化後的字元串為月份的英文全寫String b = String.format(Locale.US, "%tB", today);System.out.println("格式化後的字元串為月份的英文縮寫: " + b);// 格式化後的字元串為星期(如:星期一)String c = String.format("%ta", today);System.out.println("月格式化後的字元串為星期: " + c);// 格式化後的字元串為星期(如:星期一)String d = String.format("%tA", today);System.out.println("格式化後的字元串為星期: " + d);// 格式化後的字元串為4 位的年份值String e = String.format("%tY", today);System.out.println("格式化後的字元串為4 位的年份值: " + e);// 格式化後的字元串為2 位的年份值String f = String.format("%ty", today);System.out.println("格式化後的字元串為2 位的年份值: " + f);// 格式化後的字元串為2 位的月份值String g = String.format("%tm", today);System.out.println("格式化後的字元串為2 位的月份值: " + g);// 格式化後的字元串為2 位的日期值String h = String.format("%td", today);System.out.println("格式化後的字元串為2 位的日期值: " + h);}}
【代碼解析】
使用String 類的format()方法不但可以完成日期的格式化,也可以實現時間的格式化。時間的格式化轉換符要比日期轉換符更多、更准確,它甚至可以將時間格式化為時、分、秒、毫秒。
【知識擴展】
在深入使用字元串之前,有一個概念一定要理解,那就是字元串是不可變的對象。理解了這個概念,對後面熟練使用字元串有很大的幫助。字元串的不可變性,意味著每當對字元串進行操作時,都將產生一個新的字元串對象,如果頻繁的操作字元串對象,會在託管堆中產生大量的無用字元串,增加垃圾回收器的壓力,從而造成系統資源的浪費。
⑵ java中怎麼格式化日期
你可以用String類的format方法,例如: System.out.println(String.format("%ty年%<tm月%<td日",date));下面是一個完整的例子。
publicclassFormatDateTest
{
publicstaticvoidmain(String[]args)
{
Datedate=newDate(System.currentTimeMillis());
System.out.println(String.format("%ty年%<tm月%<td日",date));
System.out.println(String.format("%tY年%<tm月%<td日",date));
System.out.println(String.format("%tY年%<tm月%<td日%<tH時%<tM分%<tS秒",date));
}
}
%ty是格式化年,%tm是格式化年,%td是格式化天,%tH格式化發時,%tM格式化分,%tS格式化秒。另外%tY是把年格式化為四位形式,如1999,而不是99。%tI是把時格式化為12小時制。格式化字元串中的<是表示格式化同一個日期,當然你也可以這么寫:System.out.println(String.format("%ty年%tm月%td日",date,date,date));
⑶ java怎麼把字元串轉換成日期類型
SimpleDateFormat類
有個parse方法
public Date parse(Stringtext, ParsePositionpos)
解析字元串的文本,生成Date。
此方法試圖解析從pos給定的索引處開始的文本。如果解析成功,則將pos的索引更新為所用最後一個字元後面的索引(不必對直到字元串結尾的所有字元進行解析),並返回解析得到的日期。更新後的pos可以用來指示下次調用此方法的起始點。如果發生錯誤,則不更改pos的索引,並將pos的錯誤索引設置為發生錯誤處的字元索引,並且返回 null。
指定者:
類DateFormat中的parse
參數:
text- 應該解析其中一部分的String。
pos- 具有以上所述的索引和錯誤索引信息的ParsePosition對象。
返回:
從字元串進行解析的Date。如果發生錯誤,則返回 null。
拋出:
NullPointerException- 如果text或pos為 null。
另請參見:
DateFormat.setLenient(boolean)
⑷ java中,字元串類型的時間數據怎樣轉換成date類型
將字元串類型的時間轉換成date類型可以使用SimpleDateFormat來轉換,具體方法如下:
1、定義一個字元串類型的時間;
2、創建一個SimpleDateFormat對象並設置格式;
3、最後使用SimpleDateFormat的parse方法將String類型的時間轉換成Date類型的時間。
具體代碼如下:
Stringstring="2014-3-17";
SimpleDateFormatdateFormat=newSimpleDateFormat("yyyy-MM-dd");
Datedate=null;
try{
date=dateFormat.parse(string);
System.out.println(date.toLocaleString().split("")[0]);//切割掉不要的時分秒數據
}catch(ParseExceptione){
e.printStackTrace();
}
介紹一下SimpleDateFormat:SimpleDateFormat是Java中一個非常常用的類,該類用來對
日期字元串進行解析和格式化輸出。
⑸ 昆明Java培訓:介紹String字元串中日期格式化方法
【實例描述】在輸出日期信息時,經常需要輸出不同格式的日期格式。 ⑹ java指定的字元串日期格式化及計算
本實例介紹了String字元串中日期格式化方法,使用不同的方式輸出String類的日期格式參數值,組合這些值實現特殊格式的日期字元串。
實例的運行效果如圖4.10所示。
【實現過程】在Eclipse中新建項目DateString,並在其中創建一個DateString.java文件。
在該類的主方法中通過實例化的方法對當前日期進行實例化,然後再通過各種format()方法格式化today日期對象。
核心代碼如下所示:
時間的格式化轉換符要比日期轉換符更多、更准確,它甚至可以將時間格式化為時、分、秒、毫秒。
【知識擴展】在深入使用字元串之前,有一個概念一定要理解,那就是字元串是不可變的對象。
理解了這個概念,對後面熟練使用字元串有很大的幫助。
字元串的不可變性,意味著每當對字元串進行操作時,都將產生一個新的字元串對象,如果頻繁的操作字元串對象,會在託管堆中產生大量的無用字元串,增加垃圾回收器的壓力,從而造成系統資源的浪費。
packagetimeutil;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassTimeTest{
publicstaticvoidmain(String[]args){
Strings1="20151117190936";
Strings2="20090915-17:20:12";
try{
Datedate1=newSimpleDateFormat("yyyyMMddHHmmss").parse(s1);
//輸出格式
System.out.println("=======解析字元串1======");
System.out.println(newSimpleDateFormat("yyyy/MM/ddHH:mm:ss").format(date1));
System.out.println(newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(date1));
System.out.println("=======解析字元串2======");
Datedate2=newSimpleDateFormat("yyyyMMdd-HH:mm:ss").parse(s2);
System.out.println(newSimpleDateFormat("yyyy/MM/ddHH:mm:ss").format(date2));
System.out.println(newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(date2));
}catch(ParseExceptione){
e.printStackTrace();
}
}
}
⑺ 在java中如何把字元串轉換成時間格式
方法一:
public static void main(String[] args) throws Exception{
Date date = new SimpleDateFormat("yyyy-MM-dd").parse("2005-06-09");
String now = new SimpleDateFormat("yyyy年MM月dd日").format(date);
System.out.println(now);
}
輸出結果:2005年06月09日
方法二:
public class bb {
public static void main(String[] args) {
// TODO Auto-generated method stub
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddhhmmss");
String dateString = "20071128175545";
try {
Date date = df.parse(dateString);
System.out.println(df.format(date));
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
(7)java字元串日期格式化擴展閱讀
Java指定了一些可訪問的修飾符如:private、protected、public,任何方法或變數都可以聲明為public,Java可以從該類之外的地方訪問。因為main方法是公共的,JVM就可以輕松的訪問執行它。
在main裡面args[]就是兩個長度的數組:value1存在args[0]中,value2存在args[1]中。
args[0]存儲的是命令,其後才是參數。
String args[ ]或者String[ ] args表示給主方法傳一個字元串數組。
而args是一個字元串數組的變數名,不是關鍵字,是arguments的縮寫,只是一個默認名,一般都習慣性照寫。
例如:
class Example{
public static void main(String args[ ]){
System.out.println("This is a simple Java program.");
}
}
⑻ Java中怎麼把字元串轉換成日期格式啊
方法一:
public static void main(String[] args) throws Exception{
Date date = new SimpleDateFormat("yyyy-MM-dd").parse("2005-06-09");
String now = new SimpleDateFormat("yyyy年MM月dd日").format(date);
System.out.println(now);
}
輸出結果:2005年06月09日
方法二:
public class bb {
public static void main(String[] args) {
// TODO Auto-generated method stub
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddhhmmss");
String dateString = "20071128175545";
try {
Date date = df.parse(dateString);
System.out.println(df.format(date));
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
(8)java字元串日期格式化擴展閱讀:
Java指定了一些可訪問的修飾符如:private、protected、public,任何方法或變數都可以聲明為public,Java可以從該類之外的地方訪問。因為main方法是公共的,JVM就可以輕松的訪問執行它。
在main裡面args[]就是兩個長度的數組:value1存在args[0]中,value2存在args[1]中。
args[0]存儲的是命令,其後才是參數。
String args[ ]或者String[ ] args表示給主方法傳一個字元串數組。
而args是一個字元串數組的變數名,不是關鍵字,是arguments的縮寫,只是一個默認名,一般都習慣性照寫。
例如:
class Example{
public static void main(String args[ ]){
System.out.println("This is a simple Java program.");
}
}
⑼ Java格式化字元串日期
packagetest;
importjava.text.SimpleDateFormat;
importjava.util.Date;
publicclassDateStyle{
publicstaticvoidmain(String[]args){
SimpleDateFormatdateformat1=newSimpleDateFormat(
"yyyyMMddHHmmss");
Datedate=newDate();
date.setYear(2014-1900);
date.setMonth(3-1);
date.setDate(29);
date.setHours(19);
date.setMinutes(13);
date.setSeconds(0);
Stringa1=dateformat1.format(date);
System.out.println("時間2:"+a1);
}
}
效果:
時間2:20140329191300
希望能幫到你。
或者因為那個方法都過時了,你可以用Calendar的方法,代碼如下:
packagetest;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
importjava.util.Date;
publicclassDateStyle{
publicstaticvoidmain(String[]args){
SimpleDateFormatdateformat1=newSimpleDateFormat("yyyyMMddHHmmss");
Calendarc=dateformat1.getCalendar();
c.set(2013,14,29,19,13,0);
Dated=c.getTime();
System.out.println(d);
Stringa1=dateformat1.format(d);
System.out.println("時間2:"+a1);
}
}
效果:
SatMar2919:13:00CST2014
時間2:20140329191300
望採納。
⑽ java字元串格式轉換成日期格式
你執行了sdf.parse(st); 後就已經是date了 你要去和其他時間做比較的話可以直接比較
importjava.text.DateFormat;
importjava.text.SimpleDateFormat;
importjava.util.Date;
/**
*
*@authorhp
*/
publicclasstest{
publicstaticvoidmain(Stringargs[]){
inti=compare_date("1995-11-1215:21","1999-12-1109:59");
System.out.println("i=="+i);
}
publicstaticintcompare_date(StringDATE1,StringDATE2){
DateFormatdf=newSimpleDateFormat("yyyy-MM-ddhh:mm");
try{
Datedt1=df.parse(DATE1);
Datedt2=df.parse(DATE2);
if(dt1.getTime()>dt2.getTime()){
System.out.println("dt1在dt2前");
return1;
}elseif(dt1.getTime()<dt2.getTime()){
System.out.println("dt1在dt2後");
return-1;
}else{
return0;
}
}catch(Exceptionexception){
exception.printStackTrace();
}
return0;
}
}