web-dev-qa-db-ja.com

Androidで現在の日付を取得する方法

私は以下のコードを書きました

Date d = new Date();
CharSequence s  = DateFormat.format("MMMM d, yyyy ", d.getTime());

しかし、私はパラメータを求めている、私は文字列形式で現在の日付が欲しい、

好き

28-Dec-2011

TextViewを設定できるように

少し説明してください、あなたが何かが必要であると思うならば、私はアンドロイド開発に新しいです。

132

希望する形式で日付をフォーマットするために SimpleDateFormat クラスを使用することができます。

あなたの例のためのアイデアを得たところでこのリンクをチェックしてください。

例えば:

String dateStr = "04/05/2010"; 

SimpleDateFormat curFormater = new SimpleDateFormat("dd/MM/yyyy"); 
Date dateObj = curFormater.parse(dateStr); 
SimpleDateFormat postFormater = new SimpleDateFormat("MMMM dd, yyyy"); 

String newDateStr = postFormater.format(dateObj); 

更新:

詳細な例は ここ です。この例を見てSimpleDateFormatクラスの概念を理解することをお勧めします。

最終的解決:

Date c = Calendar.getInstance().getTime();
System.out.println("Current time => " + c);

SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = df.format(c);
337
Paresh Mayani

この単純な一行コードで現在の日付を取得するyyyy-MM-ddフォーマットあなたが望むフォーマットを使うことができます。

String date = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(new Date());

Javaをベースにしているので、これはAndroidとは関係ありません。

private String getDateTime() { 
   DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
   Date date = new Date(); 
   return dateFormat.format(date); 
}
26
Graham Smith
 public String giveDate() {
    Calendar cal = Calendar.getInstance();
    SimpleDateFormat sdf = new SimpleDateFormat("EEE, MMM d, yyyy");
    return sdf.format(cal.getTime());
 }
12
Kamal

これを試して、

SimpleDateFormat timeStampFormat = new SimpleDateFormat("yyyyMMddHHmmssSS");
Date myDate = new Date();
String filename = timeStampFormat.format(myDate);
8
Lucifer

魅力のように働き、ボーナスとしてStringに変換します。

SimpleDateFormat currentDate = new SimpleDateFormat("dd/MM/yyyy");
      Date todayDate = new Date();
    String thisDate = currentDate.format(todayDate);
6
TheVinceble
CharSequence s  = DateFormat.getDateInstance().format("MMMM d, yyyy ");

最初にインスタンスが必要です

6
Marthyn Olthof
 String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());

// DateクラスをJava.utilとしてインポートする

5
arshad shaikh

以下のコードは時間と日付の両方を表示します

Calendar cal = Calendar.getInstance();
cal.getTime().toString();
4
Rajeswari
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String date = df.format(Calendar.getInstance().getTime());
4
Farhan Ali
Calendar cal = Calendar.getInstance();      
Calendar dt = Calendar.getInstance(); 
dt.clear();
dt.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH),cal.get(Calendar.DATE)); 
return dt.getTime();        
4
Vinayak

Pareshの解決策への簡単な微調整:

Date date = Calendar.getInstance().getTime();
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = df.format(date);
3
cNgamba

あなたが望むフォーマットで日付を得るために次のコードを使うことができます。

String date = String.valueOf(Android.text.format.DateFormat.format("dd-MM-yyyy", new Java.util.Date()));
2
Hardik Lakhani
Date c = Calendar.getInstance().getTime();
System.out.println("Current time => " + c);

SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = df.format(c);

これは最良の答えです...

1
Fatima

私は現代的な答えを提供しています。

Java.timeおよびThreeTenABP

現在の日付を取得するには:

    LocalDate today = LocalDate.now(ZoneId.of("America/Hermosillo"));

これにより、LocalDateオブジェクトが得られます。これは、プログラムで日付を保持するために使用するものです。 LocalDateは、時刻のない日付です。

ユーザーに日付を表​​示する必要がある場合にのみ、ユーザーのロケールに適した文字列にフォーマットします。

    DateTimeFormatter userFormatter
            = DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG);
    System.out.println(today.format(userFormatter));

今日、このスニペットを米国英語ロケールで実行したときの出力は次のとおりです。

2019年7月13日

短くしたい場合は、FormatStyle.MEDIUMまたはFormatStyle.SHORTを指定します。 DateTimeFormatter.ofLocalizedDateはデフォルトのフォーマットロケールを使用するため、ポイントは、ロケールに応じて、そのロケールに適した出力を提供することです。

ユーザーが出力形式に対して非常に特別な要件を持っている場合は、形式パターン文字列を使用します。

    DateTimeFormatter userFormatter = DateTimeFormatter.ofPattern(
            "d-MMM-u", Locale.forLanguageTag("ar-AE"));

13-يول-2019

最新のJava日時APIであるJava.timeを使用および推奨しています。質問で使用されているDateFormatSimpleDateFormatDate、およびCalendarやその他の多くの回答は、設計が不十分で、古くなっています。また、Java.timeを使用する方がはるかに優れています。

質問:AndroidでJava.timeを使用できますか?

はい、Java.timeは古いものと新しいAndroidデバイスでうまく動作します。少なくともJava 6が必要です。

  • Java 8以降および新しいAndroidデバイス(APIレベル26以降)には、最新のAPIが組み込まれています。
  • Java 6および7で、モダンクラスのバックポートであるThreeTenバックポートを取得します(JSR 310の場合はThreeTen。下部のリンクを参照)。
  • (古い)AndroidでThreeTen BackportのAndroidエディションを使用します。 ThreeTenABPと呼ばれます。そして、サブパッケージを使用して、org.threeten.bpから日時クラスをインポートしてください。

リンク集

1
Ole V.V.

これは私が使用したコードです:

             Date date = new Date();  // to get the date
             SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy"); // getting date in this format
             String formattedDate = df.format(date.getTime());
             text.setText(formattedDate);
0
Savita Sharma

私はすでにこれを使っています:

Date What_Is_Today=Calendar.getInstance().getTime();
SimpleDateFormat Dateformat = new SimpleDateFormat("dd-MM-yyyy");
String Today=Dateformatf.format(What_Is_Today);

Toast.makeText(this,Today,Toast.LENGTH_LONG).show();

最初に時間を取得し、次にSimple Date Format(19-6-2018のように日付を取得するため)を宣言してからformatを使用して日付を文字列に変更します。

0
Farshid Ahmadi
 public static String getcurrentDateAndTime(){

        Date c = Calendar.getInstance().getTime();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd");
        String formattedDate = simpleDateFormat.format(c);
        return formattedDate;
    }

// String currentdate=  getcurrentDateAndTime();
0
indrajeet jyoti

現在のロケールで現在の日付を取得する最も簡単な方法(デバイスのロケール!):

String currentDate = DateFormat.getDateInstance().format(Calendar.getInstance().getTime());

日付を異なるスタイルで表示したい場合はgetDateInstance(int style)を使用してください。

DateFormat.getDateInstance(DateFormat.FULL).format(Calendar.getInstance().getTime());

その他のスタイル:DateFormat.LONGDateFormat.DATE_FIELDDateFormat.DAY_OF_YEAR_FIELDなど CTRL+Space それらすべてを見るために)

あなたも時間が必要な場合:

String currentDateTime = DateFormat.getDateTimeInstance(DateFormat.DEFAULT,DateFormat.LONG).format(Calendar.getInstance().getTime());
0
Ivo Stoyanov

このコードのリンクを使ってみてくださいこれはすべての日付と時間にわたってすべての場合のための絶対的な正解です。またはアプリのニーズと要件に応じて日付と時刻をカスタマイズします。

このリンクで試してください。 このリンクで試してください

0
Amitsharma
  public static String getDateTime() {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMMM dd, yyyy HH:mm:ss", Locale.getDefault());
        Date date = new Date();
        return simpleDateFormat.format(date);
    }
0
Divyesh Patel

私はCalendarViewを使ってカレンダーアプリを書きました。それは私のコードです:

CalendarView cal = (CalendarView) findViewById(R.id.calendar);
cal.setDate(new Date().getTime());

'calendar'フィールドは私のCalendarViewです。輸入:

import Android.widget.CalendarView;
import Java.util.Date;

現在の日付が間違いなく表示されています。

0
Muskovets
Calendar c = Calendar.getInstance();
int day = c.get(Calendar.DAY_OF_MONTH);
int month = c.get(Calendar.MONTH);
int year = c.get(Calendar.YEAR);
String date = day + "/" + (month + 1) + "/" + year;

Log.i("TAG", "--->" + date);
0
rhaldar