web-dev-qa-db-ja.com

AndroidのDateオブジェクトから日月の値を取得しますか?

このコードを使用して:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = format.parse(dtStart);
return date;

文字列の日付を日付オブジェクトで変換し、値を取得しました。

日2月17日07:00:00 GMT 2013

ここから日(日曜日/月曜日)と月を抽出したいと思います。

37
NRahman
import Android.text.format.DateFormat;

String dayOfTheWeek = (String) DateFormat.format("EEEE", date); // Thursday
String day          = (String) DateFormat.format("dd",   date); // 20
String monthString  = (String) DateFormat.format("MMM",  date); // Jun
String monthNumber  = (String) DateFormat.format("MM",   date); // 06
String year         = (String) DateFormat.format("yyyy", date); // 2013
157
Pankaj Kumar

あなたが試すことができます:

String input_date="01/08/2012";
SimpleDateFormat format1=new SimpleDateFormat("dd/MM/yyyy");
Date dt1=format1.parse(input_date);
DateFormat format2=new SimpleDateFormat("EEEE"); 
String finalDay=format2.format(dt1);

これも試してください:

Calendar c = Calendar.getInstance();
c.setTime(yourDate);
int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
16
amalBit

カスタムの曜日にこの機能を使用できます

public static String getDayFromDateString(String stringDate,String dateTimeFormat)
{
    String[] daysArray = new String[] {"saturday","sunday","monday","tuesday","wednesday","thursday","friday"};
    String day = "";

    int dayOfWeek =0;
    //dateTimeFormat = yyyy-MM-dd HH:mm:ss
    SimpleDateFormat formatter = new SimpleDateFormat(dateTimeFormat);
    Date date;
    try {
        date = formatter.parse(stringDate);
        Calendar c = Calendar.getInstance();
        c.setTime(date);
        dayOfWeek = c.get(Calendar.DAY_OF_WEEK)-1;
        if (dayOfWeek < 0) {
            dayOfWeek += 7;
        }
        day = daysArray[dayOfWeek];
    } catch (Exception e) {
        e.printStackTrace();
    }

    return day;
}

dateTimeFormatの例dateTimeFormat = "yyyy-MM-dd HH:mm:ss";

Java.util.Calendarクラスの使用を検討してください。

String dateString = "20/12/2018";
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");

Date readDate = df.parse(dateString);
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(readDate.getTime());

Log.d(TAG, "Year: "+cal.get(Calendar.YEAR));
Log.d(TAG, "Month: "+cal.get(Calendar.MONTH));
Log.d(TAG, "Day: "+cal.get(Calendar.DAY_OF_MONTH));
0
Slim89
public static String getDayFromStringDate(String stringDate, String dateFormat, boolean abbreviated) throws ParseException {

    String pattern;

    if (abbreviated) {

        pattern = "E"; // For short day eg: Mon,Tue
    } else {

        pattern = "EEEE"; // For compete day eg: Monday, Tuesday
    }

    return new SimpleDateFormat(pattern)
            .format(new SimpleDateFormat(dateFormat).parse(stringDate));
}

例:stringDateが-2018年12月16日、dateFormatが-dd/MM/yyyyの場合

0
Pranav V R