0

SQLサーバーの日時からJavaへの変換で問題が発生しましたjava.util.date。これは解決されました。日時をJAVA日付に解析しますが、問題は私のdatetime(2013年1月1日)が次のように変換されるTue Jan 01 00:00:00 PKT 2013ことです01 Jan 2013。 ... JODA時間を試しましたが、問題は同じです。正しい道を案内してください

編集:

SQL Server DBにdatetimeフォーマットがあります。dd MMM yyyyたとえば、DBから取得した日時文字列を、上記の質問のガイドラインを使用して取得した日時文字列に変換するために、今など01 Jan 2013から値を取得する必要がありましたが、問題はそれです。次のようなゾーンとsecodの追加情報を追加しますSqlRowSetrs.getString(4)java.util.date

2013年1月1日SQLServer形式の日時

Tue Jan 01 00:00:00 PKT2013java.util.date形式

私が欲しいのjava.util.date01 Jan 2013

4

4 に答える 4

2

Ajava.util.Dateは、日、月、時間などのフィールドではなく、数値(a long)で内部的に表されます。これらの数値は、この数値を。でフォーマットすることで取得できますSimpleDateFormat。現在取得している文字列は、を使用して取得したデフォルトの表現ですDate.toString()。別の形式にする場合は、を使用しSimpleDateFormatます。

于 2012-12-20T09:30:35.107 に答える
1

http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.htmlがその役割を果たします。

SimpleDateFormat sdf = new SimpleDateFormat( "dd MMM yyyy" );
System.out.println( sdf.format( date ) );

http://docs.oracle.com/javase/1.4.2/docs/api/java/text/DateFormat.htmlも、目的の形式が特定のロケールに一致する限り使用できます。

ここにあなたが望むものに近い例があります:

DateFormat df = DateFormat.getDateInstance( DateFormat.LONG, Locale.UK );
System.out.println( df.format( date ) );

編集:そして、行セットから日付を取得するには、

Date date = rs.getDate(4);

必要に応じて日付オブジェクトを返します。

于 2012-12-20T10:09:58.100 に答える
0

私の見解では、日時フィールドを簡単に操作するためのJodaTimeAPIを使用しています。このAPIはこれに非常に役立ちます。java.util.Dateパッケージ内の日時フォーマッターまたは単純な日時フォーマッタークラスを使用します。これは、希望する結果を得るのに役立ちます。

于 2012-12-20T09:43:01.523 に答える
0

@Jakubは正しく言及しています。あなたはそれを使って簡単に行うことができますjava.text.SimpleDateFormat

java.util.Date today=new java.util.Date();
SimpleDateFormat format=new SimpleDateFormat("dd MMM yyyy"); 
System.out.println(format.format(today));

今日の日付をフォーマットするために使用しました。同様の方法で、データベースから日付を取得できます。rs.getDate()ただし、使用すると返されることを覚えておいてくださいjava.sql.Date。したがって、続行できます。

于 2012-12-20T10:20:28.863 に答える