Javaで現在の日付を文字列に変換するにはどうすればよいですか?
String date = new SimpleDateFormat("dd-MM-yyyy").format(new Date());
// GET DATE & TIME IN ANY FORMAT
import Java.util.Calendar;
import Java.text.SimpleDateFormat;
public static final String DATE_FORMAT_NOW = "yyyy-MM-dd HH:mm:ss";
public static String now() {
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW);
return sdf.format(cal.getTime());
}
here から取得
// On the form: dow mon dd hh:mm:ss zzz yyyy
new Date().toString();
DateFormat
実装を使用します。例えば SimpleDateFormat
。
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
String data = df.format(new Date());
もっと早く :
String date = FastDateFormat.getInstance("dd-MM-yyyy").format(System.currentTimeMillis( ));
LocalDate.now()
.toString()
2017-01-23
希望する/予想されるタイムゾーンを明示的に指定する方が適切です。
LocalDate.now( ZoneId.of( "America/Montreal" ) )
.toString()
Java 8以降の最新の方法は、 Java.time フレームワークを使用することです。
日付は世界中で随時変化するため、タイムゾーンを指定します。
ZoneId zoneId = ZoneId.of( "America/Montreal" ) ; // Or ZoneOffset.UTC or ZoneId.systemDefault()
LocalDate today = LocalDate.now( zoneId ) ;
String output = today.toString() ;
2017-01-23
デフォルトでは、標準の ISO 8601 形式の文字列を取得します。
他の形式の場合は、Java.time.format.DateTimeFormatter
クラスを使用します。
Java.time フレームワークは、Java 8以降に組み込まれています。これらのクラスは、 Java.util.Date
、 Calendar
、および SimpleDateFormat
などの厄介な古い レガシー 日時クラスに取って代わります。
メンテナンスモード になった Joda-Time プロジェクトは、 Java.time クラスへの移行を推奨しています。
詳細については、 Oracle Tutorial を参照してください。また、多くの例と説明についてはStack Overflowを検索してください。仕様は JSR 31 です。
Java.timeオブジェクトをデータベースと直接交換できます。 JDBC 4.2 以降に準拠する JDBCドライバー を使用します。文字列やJava.sql.*
クラスは必要ありません。
Java.timeクラスはどこで入手できますか?
ThreeTen-Extra プロジェクトは、クラスを追加してJava.timeを拡張します。このプロジェクトは、Java.timeに将来追加される可能性のある証明の場です。ここでは、 Interval
、 YearWeek
、 YearQuarter
、および more 。
ほとんどの答えは有効でした。日付処理用の新しいJava APIの変更により、Java日付処理の以前のあいまいさが確実に削減されました。
同様の呼び出しに対して非推奨のメッセージが表示されます。
new Date() // deprecated
上記の呼び出しでは、開発者は、新しいDateオブジェクトがDateオブジェクトに現在のタイムスタンプを与えると想定していました。この動作は、他のJava APIクラス間で一貫していません。
これを行う新しい方法は、Calendarインスタンスを使用することです。
new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime()
ここでも命名規則は完全ではありませんが、これはかなり体系化されています。私のように物事を盗むのに苦労しているが、それが論理的に聞こえる/現れても何かを決して忘れない人にとって、これは良いアプローチです。
これは実生活と同義です
これを行うもう1つの方法は、Joda time APIを使用することです
new DateTime().toString("yyyy-MM-dd")
またははるかに明白
new DateTime(Calendar.getInstance().getTime()).toString("yyyy-MM-dd")
どちらも同じ結果を返します。
YYYY-MM-ddの時間
String time = new DateTime( yourData ).toString("yyyy-MM-dd");
また、DateTimeのライブラリは次のとおりです。
import org.joda.time.DateTime;