2012-09-24 22 views
0

我收到日期的YYYDD格式YYYDD到YYYY-MM_DD格式轉換,我想把它轉換成在YYYY-MM-DD,我嘗試了幾種方法,但沒有運氣,任何一個有解決方案請建議。如何使用Java

在谷歌搜索後,我得到了下面的鏈接,其中有功能上面的數據格式轉換,但它要求兩個參數一個是輸入日期字符串和第二個是天增加的數量。任何建議 translateDateStr

+4

究竟如何呢'yyydd'作爲格式的工作?對我來說,這是9月23日,這是第267天......你的格式在4月9日(第99天)左右後如何表示任何內容? –

+0

嗨,這裏是預期輸入日期和日期的小例子。輸入日期爲:12060和預期日期:2012-02-29 – UmeshR

+3

這將是'YYDDD'(2位年和3位天),然後。不是YYYDD。 –

回答

4

使用SimpleDateFormat

 SimpleDateFormat format1 = new SimpleDateFormat("yyDDD"); 
    SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd"); 

    String oldDate = "12060"; 
    Date d = format1.parse(oldDate); 
    String newDate = format2.format(d) 

    System.out.println(newDate); 

會打印出 「2012-02-29」

2

使用約達時間

import org.joda.time.LocalDate; 
import org.joda.time.format.DateTimeFormat; 
import org.joda.time.format.DateTimeFormatter; 

String yyyddd_date= "00130"; 
DateTimeFormatter inputFormat = DateTimeFormat.forPattern("yyDDD"); 
DateTimeFormatter outputFormat = DateTimeFormat.forPattern("yyDDD"); 
String outputformatdatestring = LocalDate.parse(yyyddd_date, inputFormat).toString(outputFormat); 

格式代碼(從http://joda-time.sourceforge.net/api-release/index.html

Symbol Meaning      Presentation Examples 
------ -------      ------------ ------- 
G  era       text   AD 
C  century of era (>=0)   number  20 
Y  year of era (>=0)   year   1996 

x  weekyear      year   1996 
w  week of weekyear    number  27 
e  day of week     number  2 
E  day of week     text   Tuesday; Tue 

y  year       year   1996 
D  day of year     number  189 
M  month of year    month   July; Jul; 07 
d  day of month     number  10 
a  halfday of day    text   PM 
K  hour of halfday (0~11)  number  0 
h  clockhour of halfday (1~12) number  12 

H  hour of day (0~23)   number  0 
k  clockhour of day (1~24)  number  24 
m  minute of hour    number  30 
s  second of minute    number  55 
S  fraction of second   number  978 

z  time zone     text   Pacific Standard Time; PST 
Z  time zone offset/id   zone   -0800; -08:00; America/Los_Angeles 

'  escape for text    delimiter 
''  single quote     literal  '