web-dev-qa-db-ja.com

日付を文字列に変換し、再び日付に変換する方法は?

こんにちは、現在の日付をこの形式に変換したいYYYY-MM-DD。ただし、日付はString形式に変換されますが、Date形式に変換する必要があります。だから誰もこれについてアドバイスできますか?

これはこれまでの私のコードです

 DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
 Date date = new Date();
 String datestring = dateFormat.format(date); 
13
ayampenyet

これを試して:

 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
    }
26
Kanchan

DateFormat#parse(String)を使用します。

Date date = dateFormat.parse("2013-10-22");
4
qqilihq

日付を文字列に変換するには、このスレッドをチェックしてください

Java.util.Dateを文字列に変換

文字列を日付に変換するには、これを試してください、

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));
    }
}
0
Shiva

この機能を試してください

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;
}
0
Yasa

この関数を使用して日付を文字列に変換する

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で文字列を日付に変換

0
David Pham

tl; dr

日付を文字列に変換し、再び日付に変換する方法は?

LocalDate.now().toString()

2017-01-23

…そして…

LocalDate.parse( "2017-01-23" )

Java.time

この質問では、Javaの初期バージョンにバンドルされている面倒な古い日時クラスを使用しています。これらのクラスは現在、レガシーであり、Java 8、Java 9以降)に組み込まれているJava.timeクラスに取って代わりました。

今日の日付を特定するにはタイムゾーンが必要です。どのような場合でも、日付はゾーンごとに世界中で異なります。

提供されない場合、JVMの現在のデフォルトのタイムゾーンが適用されます。このデフォルトは、実行中にいつでも変更される可能性があるため、信頼できません。希望する/予想されるタイムゾーンを常に指定することをお勧めします。

ZoneId z = ZoneId.of( "America/Montreal" ) ;
LocalDate ld = LocalDate.now( z ) ;

ISO 8601

YYYY-MM-DDの希望する形式は、たまたまISO 8601標準に準拠しています。

この標準は、文字列の解析/生成時にJava.timeクラスによってデフォルトで使用されることがあります。したがって、フォーマットパターンを指定せずにLocalDate::parseおよびLocalDate::toStringを呼び出すだけです。

String s = ld.toString() ;

パースします:

LocalDate ld = LocalDate.parse( s ) ;

Java.timeについて

Java.time フレームワークはJava 8以降に組み込まれています。これらのクラスは、面倒な古い legacy のような日時クラスに取って代わります- Java.util.DateCalendar 、& SimpleDateFormat

Joda-Time プロジェクトは、現在 メンテナンスモード であり、 Java.time クラスへの移行を推奨しています。

詳細については、 Oracle Tutorial を参照してください。また、Stack Overflowで多くの例と説明を検索してください。指定は JSR 31 です。

Java.timeクラスはどこで入手できますか?

ThreeTen-Extra プロジェクトは、Java.timeを追加のクラスで拡張します。このプロジェクトは、Java.timeに将来追加される可能性のある証明の場です。 IntervalYearWeekYearQuarter などの便利なクラスがあります。 、および more

0
Basil Bourque