文字列カレンダーオブジェクト(calendar.toString())をカレンダーオブジェクトに変換することはできません。 私はこのソリューションを試みたが、それはコンソールで一日'12の日付を表示-05-2017' は'02 -02-2017'カレンダー文字列をJavaのカレンダーオブジェクトに変換する
文字列のカレンダーオブジェクト形式:
java.util.GregorianCalendar [time = 1485993600000、areFieldsSet = true、areAllFieldsSet = true、lenient = true、zone = sun.util.calendar.ZoneInfo [id = "アフリカ/カサブランカ"、オフセット= 0、dstSavings = 3600000、useDaylight = true、トランジション= 102 、startMear = 2、startMonth = 2、startDay = -1、startDayOfWeek = 1、startTime = 0、dstSavings = 3600000、useDaylight = true、startYear = 0、startMear = 2、startMonth = 2、startDay = -1、lastRule = java.util.SimpleTimeZone [ firstDayOfWeek = 2、minimalDaysInFirstWeek = 4、ERA = 1、endTime = 0、endMode = 2、endMonth = 9、endDay = -1、endDayOfWeek = 1、endTime = 10800000、endTimeMode = 0] DAY_OF_YEAR = 33、DAY_OF_WEEK = 5、DAY_OF_WEEK_IN_MONTH = 1、AM_PM = 0、HOUR = 0、HOUR_OF_DAY = 0、MINUTE = 0、SECOND = 0ミリ秒= 0、ZONE_OFFSET = 0、DST_OFFSET = 0]
Calendar calendar = GregorianCalendar.getInstance();
calendar.setTime(new Date("2017/02/02"));
System.out.println("calendar : "+calendar.getTime());
try {
GregorianCalendar gc = new GregorianCalendar();
DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
System.out.println("calendar : "+calendar.getTime());
gc.setTimeZone(TimeZone.getTimeZone(calendar.toString()));
System.out.println("tme zone : "+gc.getTimeZone());
System.out.println("calendar : "+calendar.getTime());
System.out.println("calendar : "+calendar.toString());
System.out.println(formatter.format(gc.getTime()));
}
catch(Exception e) {
//If exception, return server TimeStamp
}
すべてのヘルプしてください
どのような解決策を試しましたか?あなたはコードを投稿していません。 – azurefrog
ああ、いいえ。私は時間(長)とタイムゾーン情報を格納することを考えていました。おそらく 'String'に書式を設定しましたが、' Calendar'から 'toString'値を解析しようとは考えていませんでした。サポートされている新しいJava Time APIを参照してください。 – MadProgrammer
@azurefrog私の投稿にコードを追加しました – imane