String和Date、Timestamp之间的转换
2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
一、String與Date(java.util.Date)互轉(zhuǎn)
?
???? 1.1 String -> Date
String dateStr = "2010/05/04 12:34:23";?
??????? Date date = new Date();?
??????? //注意format的格式要與日期String的格式相匹配?
??????? DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");?
??????? try {?
??????????? date = sdf.parse(dateStr);?
??????????? System.out.println(date.toString());?
??????? } catch (Exception e) {?
??????????? e.printStackTrace();?
??????? }?
?
?
? 1.2 Date -> String
?
?? 日期向字符串轉(zhuǎn)換,可以設(shè)置任意的轉(zhuǎn)換格式format
Java代碼? 收藏代碼
String dateStr = "";?
??????? Date date = new Date();?
??????? //format的格式可以任意?
??????? DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");?
??????? DateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH/mm/ss");?
??????? try {?
??????????? dateStr = sdf.format(date);?
??????????? System.out.println(dateStr);?
??????????? dateStr = sdf2.format(date);?
??????????? System.out.println(dateStr);?
??????? } catch (Exception e) {?
??????????? e.printStackTrace();?
??????? }?
?二、String與Timestamp互轉(zhuǎn)
?? 2.1 String ->Timestamp
?? 使用Timestamp的valueOf()方法
Timestamp ts = new Timestamp(System.currentTimeMillis());?
??????? String tsStr = "2011-05-09 11:49:45";?
??????? try {?
??????????? ts = Timestamp.valueOf(tsStr);?
??????????? System.out.println(ts);?
??????? } catch (Exception e) {?
??????????? e.printStackTrace();?
??????? }?
?? 注:String的類型必須形如: yyyy-mm-dd hh:mm:ss[.f...] 這樣的格式,中括號表示可選,否則報錯!!!
??? 如果String為其他格式,可考慮重新解析下字符串,再重組~~
?
??? 2.2 Timestamp -> String
?
? 使用Timestamp的toString()方法或者借用DateFormat
?
Timestamp ts = new Timestamp(System.currentTimeMillis());?
??????? String tsStr = "";?
??????? DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");?
??????? try {?
??????????? //方法一?
??????????? tsStr = sdf.format(ts);?
??????????? System.out.println(tsStr);?
??????????? //方法二?
??????????? tsStr = ts.toString();?
??????????? System.out.println(tsStr);?
??????? } catch (Exception e) {?
??????????? e.printStackTrace();?
??????? }?
?很容易能夠看出來,方法一的優(yōu)勢在于可以靈活的設(shè)置字符串的形式。
?
三、Date( java.util.Date )和Timestamp互轉(zhuǎn)
?
? 聲明:查API可知,Date和Timesta是父子類關(guān)系
?
? 3.1 Timestamp -> Date
?
Timestamp ts = new Timestamp(System.currentTimeMillis());?
??????? Date date = new Date();?
??????? try {?
??????????? date = ts;?
??????????? System.out.println(date);?
??????? } catch (Exception e) {?
??????????? e.printStackTrace();?
??????? }?
?很簡單,但是此刻date對象指向的實體卻是一個Timestamp,即date擁有Date類的方法,但被覆蓋的方法的執(zhí)行實體在Timestamp中。
?
?? 3.2 Date -> Timestamp
?
?? 父類不能直接向子類轉(zhuǎn)化,可借助中間的String~~~~
?? 注:使用以下方式更簡潔
?? Timestamp ts = new Timestamp(date.getTime());
轉(zhuǎn)載于:https://my.oschina.net/u/1450300/blog/265059
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的String和Date、Timestamp之间的转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hbase源码系列(九)StoreFil
- 下一篇: 习惯的力量之三冰山一角