3

私はこれを生成する以下のコードを持っています:

2012-07-28 17:30:23

それが私が欲しいものです。しかし、変数に割り当てるためにすべての数値を独自に抽出したい場合は、正規表現を作成する必要がありますか、それともSimpleDateFormatからこれらを単純に抽出する方法はありますか?

 SimpleDateFormat dateFormatUCT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 dateFormatUCT.setTimeZone(TimeZone.getTimeZone("UCT"));

 //Time in UCT
 String date = dateFormatUCT.format(new Date());

 System.out.println(date);
4

4 に答える 4

9

あなたには日付があります。ifをGregorianCalendarに変換し、すべてのフィールドにGregorianCalendarを要求します。

GregorianCalendar cal = new GregorianCalendar(TimeZone.getTimeZone("UCT")); // or UTC?
cal.setTime(theDate); // if you want something other than the current date
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1; // months start at 0, duh!
...
于 2012-07-28T17:37:07.423 に答える
5

正規表現は必要ありません。日付を取得してカレンダーに渡し、get()メソッドを使用して各フィールドを取得します。

Calendar c = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
c.setTime(new Date());

System.out.println(c.get(Calendar.YEAR));
System.out.println(c.get(Calendar.MONTH));
System.out.println(c.get(Calendar.DATE));

于 2012-07-28T17:37:10.063 に答える
1

SimpleDateFormatafaikからそれらを抽出することはできませんが、そのメソッドJava.util.Calendarを使用して日付コンポーネントを抽出するために使用できます。オブジェクトは、日付を受け取るメソッドを提供しget(Calendar.{DAY_OF_MONTH|MONTH|YEAR|HOUR|MINUTE|SECOND})ます。したがって、同じ日付を使用して、を使用してフォーマットし、を使用して日付コンポーネントを抽出することができます。CalendarsetTime()SimpleDateFormatCalendar

于 2012-07-28T17:39:03.773 に答える
1

1.使用split()方法

2. このようにします...

String s = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());

  String[] arr = s.split(" ");

  String newDStr = arr[0];

  String newTStr = arr[1];

  String[] DateArr = newDStr.split("-");       // Holds Date values.
  String[] TimeArr = newTStr.split(":");       // Holds Time values
于 2012-07-28T17:40:57.457 に答える