我正在以 的格式获取日期YYYDD
,我想将其转换为YYYY-MM-DD
,我尝试了几种方法但没有运气,任何人有解决方案请建议。
在谷歌上搜索后,我得到了下面的链接,它具有转换上述数据格式的功能,但它要求两个参数,一个是输入日期字符串,第二个是要添加的天数。任何建议 translateDateStr
我正在以 的格式获取日期YYYDD
,我想将其转换为YYYY-MM-DD
,我尝试了几种方法但没有运气,任何人有解决方案请建议。
在谷歌上搜索后,我得到了下面的链接,它具有转换上述数据格式的功能,但它要求两个参数,一个是输入日期字符串,第二个是要添加的天数。任何建议 translateDateStr
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”
使用乔达时间
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 '
使用 SimpleDateFormat:
SimpleDateFormat format = new SimpleDateFormat("yyDDD");
Date date = format.parse("12060", 0);
为了以您想要的格式存储日期,您会做类似的事情,只是从另一个方向......
http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html