こんにちは、現在の日付をこの形式に変換したいYYYY-MM-DD
。ただし、日付はString
形式に変換されますが、Date
形式に変換する必要があります。だから誰もこれについてアドバイスできますか?
これはこれまでの私のコードです
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
String datestring = dateFormat.format(date);
これを試して:
String DATE_FORMAT_NOW = "yyyy-MM-dd";
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW);
String stringDate = sdf.format(date );
try {
Date date2 = sdf.parse(stringDate);
} catch(ParseException e){
//Exception handling
} catch(Exception e){
//handle exception
}
DateFormat#parse(String)
を使用します。
Date date = dateFormat.parse("2013-10-22");
日付を文字列に変換するには、このスレッドをチェックしてください
文字列を日付に変換するには、これを試してください、
import Java.text.ParseException;
import Java.text.SimpleDateFormat;
public class StringToDate
{
public static void main(String[] args) throws ParseException
{
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
String strDate = "14/03/2003 08:05:10";
System.out.println("Date - " + sdf.parse(strDate));
}
}
この機能を試してください
public static Date StringToDate(String strDate) throws ModuleException {
Date dtReturn = null;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-mm-dd");
try {
dtReturn = simpleDateFormat.parse(strDate);
} catch (ParseException e) {
e.printStackTrace();
}
return dtReturn;
}
この関数を使用して日付を文字列に変換する
public String convertDateToString(Date date, String format) {
String dateStr = null;
DateFormat df = new SimpleDateFormat(format);
try {
dateStr = df.format(date);
} catch (Exception ex) {
System.out.println(ex);
}
return dateStr;
}
From Javaで日付を文字列に変換 。そして、文字列を再び日付に変換します
public Date convertStringToDate(String dateStr, String format) {
Date date = null;
DateFormat df = new SimpleDateFormat(format);
try {
date = df.parse(dateStr);
} catch (Exception ex) {
System.out.println(ex);
}
return date;
}
From Javaで文字列を日付に変換
日付を文字列に変換し、再び日付に変換する方法は?
LocalDate.now().toString()
2017-01-23
…そして…
LocalDate.parse( "2017-01-23" )
この質問では、Javaの初期バージョンにバンドルされている面倒な古い日時クラスを使用しています。これらのクラスは現在、レガシーであり、Java 8、Java 9以降)に組み込まれているJava.timeクラスに取って代わりました。
今日の日付を特定するにはタイムゾーンが必要です。どのような場合でも、日付はゾーンごとに世界中で異なります。
提供されない場合、JVMの現在のデフォルトのタイムゾーンが適用されます。このデフォルトは、実行中にいつでも変更される可能性があるため、信頼できません。希望する/予想されるタイムゾーンを常に指定することをお勧めします。
ZoneId z = ZoneId.of( "America/Montreal" ) ;
LocalDate ld = LocalDate.now( z ) ;
YYYY-MM-DDの希望する形式は、たまたまISO 8601標準に準拠しています。
この標準は、文字列の解析/生成時にJava.timeクラスによってデフォルトで使用されることがあります。したがって、フォーマットパターンを指定せずにLocalDate::parse
およびLocalDate::toString
を呼び出すだけです。
String s = ld.toString() ;
パースします:
LocalDate ld = LocalDate.parse( s ) ;
Java.time フレームワークはJava 8以降に組み込まれています。これらのクラスは、面倒な古い legacy のような日時クラスに取って代わります- Java.util.Date
、 Calendar
、& SimpleDateFormat
。
Joda-Time プロジェクトは、現在 メンテナンスモード であり、 Java.time クラスへの移行を推奨しています。
詳細については、 Oracle Tutorial を参照してください。また、Stack Overflowで多くの例と説明を検索してください。指定は JSR 31 です。
Java.timeクラスはどこで入手できますか?
ThreeTen-Extra プロジェクトは、Java.timeを追加のクラスで拡張します。このプロジェクトは、Java.timeに将来追加される可能性のある証明の場です。 Interval
、 YearWeek
、 YearQuarter
などの便利なクラスがあります。 、および more 。