0

の形式で日付を取得しています。YYYDD変換したいのですがYYYY-MM-DD、いくつかの方法を試しましたが、うまくいきませんでした。解決策を提案してください。

Googleで検索した後、上記のデータ形式を変換する機能を持つ以下のリンクを取得しましたが、2つのパラメーターを要求しています。1つは入力日付文字列で、もう1つは追加する日数です。任意の提案 translateDateStr

4

3 に答える 3

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」を印刷します

于 2012-09-24T05:24:55.680 に答える
2

JodaTimeを使用する

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       '
于 2012-09-24T11:22:59.810 に答える
1

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

于 2012-09-24T05:24:55.210 に答える