フォーマッタオブジェクトとして"YYYY-mm-dd hh:mm"
として日付形式を取得しています。
入力フォーマッターオブジェクトをフォーマットして"YYYY-mm-dd";
のみを取得するにはどうすればよいですか?
フォーマッタオブジェクトとして「YYYY-mm-dd hh:mm」という日付形式を取得しています。入力フォーマッターオブジェクトをフォーマットして「YYYY-mm-dd」のみを取得するにはどうすればよいですか。
YYYY-mm-ddのように日付を含めることはできませんyyyy-MM-dd。 yyyy-MM-ddで日付を取得するには、次のコードを使用します。
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = formatter.format(todaysDate);
Format formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm");
Date date;
try {
date = (Date)((DateFormat) formatter).parse("2011-04-13 05:00");
formatter = new SimpleDateFormat("yyyy-MM-dd");
String s = formatter.format(date);
System.out.println(s);
} catch (ParseException e) {
e.printStackTrace();
}
SimpleDateFormat
を使用
String myDateString = "2009-04-22 15:51";
SimpleDateFormat inFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
SimpleDateFormat outFormat = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(outFormat.format(inFormat.parse(myDateString)));
_"YYYY-mm-dd hh:mm"
_形式の日付を取得していて、それを_"YYYY-mm-dd"
_として取得したい場合は、inputDate.substring(0, 10)
を使用することをお勧めします。
どちらの場合でも、潜在的な注意 Y10kバグ :)
はい、SimpleDateFormatはあなたが探しているものです http://dlc.Sun.com.edgesuite.net/jdk/jdk-api-localizations/jdk-api-zh-cn/builds/latest/html/en /api/Java/text/SimpleDateFormat.html
次のサンプル形式の日付はJavaでyyyy-MM-ddです
Format formatter = new SimpleDateFormat("yyyy-MM-dd");
Calendar now = Calendar.getInstance();
System.out.println("Now: "+formatter.format(now.getTime()) );
これを試して:
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = formatter.format(todaysDate);
このコードを使用してください:
Date date=new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = formatter.format(date);
System.out.println("formatted time==>" + formattedDate);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
String strDate = entry_date;
System.out.println("strDate*************"+strDate);
Date date = null;
try {
date = sdf.parse(strDate);
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Date yesterday =subtractDay( date);
String requiredDate = df.format(yesterday);
System.out.println("110 days before*******************"+requiredDate);
public static Date subtractDay(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, -110);`enter code here`
return cal.getTime();
}
この質問には良い答えがたくさんあります!! 、ここでもう1つのもう1つの一般的な解決策がやってきます
public static String getDateInFormate(String oldFormate , String newFormate , String dateToParse){
//old "yyyy-MM-dd hh:mm"
//new yyyy-MM-dd
//dateTopars 2011-04-13 05:00
String formatedDate="";
Format formatter = new SimpleDateFormat();
Date date;
try {
date = (Date)((DateFormat) formatter).parse(dateToParse);
formatter = new SimpleDateFormat(newFormate);
formatedDate = formatter.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
return formatedDate;
}
SimpleDateFormat
はあなたが探しているものです。
one by user2663609 などの他の答えは正しいです。
別の方法として、Java.util.Date/Calendarクラスのサードパーティオープンソースの置き換え Joda-Time には、ニーズに合わせて組み込み形式が含まれています。
// © 2013 Basil Bourque. This source code may be used freely forever by anyone taking full responsibility for doing so.
// import org.joda.time.*;
// import org.joda.time.format.*;
String stringIn = "2011-04-07";
// Returns a formatter for a full date as four digit year, two digit month of year, and two digit day of month (yyyy-MM-dd).
DateTimeFormatter formatter = ISODateTimeFormat.date().withZone( DateTimeZone.forID( "Europe/London" ) ).withLocale( Locale.UK );
DateTime dateTime = formatter.parseDateTime( stringIn ).withTimeAtStartOfDay();
String stringOut = formatter.print( dateTime );
コンソールにダンプ…
System.out.println( "dateTime: " + dateTime.toString() );
System.out.println( "stringOut: " + stringOut );
実行すると…
dateTime: 2011-04-07T00:00:00.000+01:00
stringOut: 2011-04-07