私は次のコードを書きました
Date d = new Date();
CharSequence s = DateFormat.format("MMMM d, yyyy ", d.getTime());
しかし、パラメータを尋ねています。文字列形式の現在の日付が必要です。
お気に入り
28-Dec-2011
私が乗り越えられるようTextView
に
少し説明してください。何かが必要だと思われる場合、私はAndroid開発の初心者です。
私は次のコードを書きました
Date d = new Date();
CharSequence s = DateFormat.format("MMMM d, yyyy ", d.getTime());
しかし、パラメータを尋ねています。文字列形式の現在の日付が必要です。
お気に入り
28-Dec-2011
私が乗り越えられるようTextView
に
少し説明してください。何かが必要だと思われる場合、私はAndroid開発の初心者です。
回答:
この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", Locale.getDefault());
String formattedDate = df.format(c);
java.util.Date
、java.util.Calendar
とjava.text.SimpleDateFormat
今のレガシーに取って代わられ、java.timeの Javaの8に、後に内蔵されたクラス。Oracleによるチュートリアルを参照してください。
このyyyy-MM-dd形式で現在の日付を取得するための簡単な1行のコードで、必要な形式を使用できます。
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);
}
これを試して、
SimpleDateFormat timeStampFormat = new SimpleDateFormat("yyyyMMddHHmmssSS");
Date myDate = new Date();
String filename = timeStampFormat.format(myDate);
CharSequence s = DateFormat.getDateInstance().format("MMMM d, yyyy ");
最初にインスタンスが必要です
チャームのように機能し、ボーナスとして文字列に変換されます;)
SimpleDateFormat currentDate = new SimpleDateFormat("dd/MM/yyyy");
Date todayDate = new Date();
String thisDate = currentDate.format(todayDate);
String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
// Dateクラスをjava.utilとしてインポートします
以下のコードは時間と日付の両方を表示します
Calendar cal = Calendar.getInstance();
cal.getTime().toString();
私は現代の答えを提供しています。
現在の日付を取得するには:
LocalDate today = LocalDate.now(ZoneId.of("America/Hermosillo"));
これによりLocalDate
オブジェクトが提供されます。これは、プログラムで日付を保持するために使用する必要があるものです。A 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を使用および推奨しています。DateFormat
、SimpleDateFormat
、Date
とCalendar
疑問に使用される、および/または他の回答の多くは、設計が不十分と長い時代遅れされています。また、java.timeを使用する方がはるかに優れています。
はい、java.timeは古いAndroidデバイスと新しいAndroidデバイスでうまく動作します。少なくともJava 6が必要です。
org.threeten.bp
、サブパッケージを使用して日付と時刻のクラスをインポートしてください。java.time
最初に説明しました。java.time
Java 6および7(JSR-310用のThreeTen)へのバックポート。DateTimeUtils.toDate(yourLocalDateTime.atZone(ZoneId.systemDefault()).toInstant())
。内蔵のjava.timeを使用している場合:Date.from(yourLocalDateTime.atZone(ZoneId.systemDefault()).toInstant())
。java.time.LocalDateTimeとjava.util.Dateの間の変換を参照してください。JodaStephenによる信頼できる回答と、バックポートの使用を示す回答があります。
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();
28-Dec-2011
に大きく貢献していますか?いずれにせよ、それは悪名高い面倒で長く時代遅れのSimpleDateFormat
クラスを使用しています。お願い、これ以上の答えは必要ありません。
次のコードを使用して、目的の形式で日付を取得できます。
String date = String.valueOf(android.text.format.DateFormat.format("dd-MM-yyyy", new java.util.Date()));
現在のロケール(デバイスロケール!)で現在の日付を取得する最も簡単な方法:
String currentDate = DateFormat.getDateInstance().format(Calendar.getInstance().getTime());
異なるスタイルで日付を使用したい場合は、次のようにしますgetDateInstance(int style)
。
DateFormat.getDateInstance(DateFormat.FULL).format(Calendar.getInstance().getTime());
他のスタイル:DateFormat.LONG
、DateFormat.DATE_FIELD
、DateFormat.DAY_OF_YEAR_FIELD
、など(使用CTRL+Spaceそれらのすべてを見るために)
あなたも時間が必要な場合:
String currentDateTime = DateFormat.getDateTimeInstance(DateFormat.DEFAULT,DateFormat.LONG).format(Calendar.getInstance().getTime());
このコードのリンクを試してみてください。これは、すべての場合において、日付と時刻を問わず、完全に正しい答えです。または、アプリのニーズと要件に従って日付と時刻をカスタマイズします。
このリンクで試してください。このリンクで試してください
私はすでにこれを使用しました:
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();
最初に時間を取得し、次にシンプルな日付フォーマットを宣言し(19-6-2018のような日付を取得するため)、フォーマットを使用して日付を文字列に変更します。
簡単な日付形式を取得するための1行のコード:
SimpleDateFormat.getDateInstance().format(Date())
出力:2020年5月18日
SimpleDateFormat.getDateTimeInstance().format(Date())
出力:2020年5月18日11:00:39 AM
SimpleDateFormat.getTimeInstance().format(Date())
出力:11 : 00 : 39 AM
この答えがこの日付と時刻の形式を取得するのに十分であることを願っています... :)
SimpleDateFormat
とDateFormat
クラスを。少なくとも最初の選択肢としてではない。予約なしではありません。今日、私たちはjava.time
、最新のJava日時APIとそのを非常によく利用していますDateTimeFormatter
。はい、Androidで使用できます。古いAndroidについては、AndroidプロジェクトでThreeTenABPを使用する方法を参照してください。
これは私が使用したコードです:
final Calendar c = Calendar.getInstance();
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH);
day = c.get(Calendar.DAY_OF_MONTH);
// Set current date into textview
tvDisplayDate.setText(new StringBuilder()
.append(month + 1).append("-") // Month is 0 based, add 1
.append(day).append("-")
.append(year).append(" Today is :" + thursday ) );
// Set current date into datepicker
dpResult.init(year, month, day, null);
DateFormat
この質問が2011年に尋ねられたとき、クラスの使用はSimpleDateFormat
問題ありませんでしたが、そのクラスとそのサブクラスは常に面倒で、現在は古くなっています。それらを使用せずに、代わりに最新のJava日時APIであるjava.timeを調べることをお勧めします。