2011-11-10 19 views
-2

Androidの日付問題

2011-10-31 11:00:00

が、私はその非推奨以来Dateを使用したいいけない、この日付の文字列から日を取得は簡単ですし、この事は私が私が欲しいもの、私の頭のかゆみ作っているが、私は

Calendarクラスまたは任意の効率的な方法

+0

[この回答](http://stackoverflow.com/questions/7724219/find-a-day-according-to-date-in-android/7724396#7724396) –

+0

をご覧くださいもし私が日付を解析するなら、それは非難されていると言います – ingsaurabh

+0

この日付(つまり、 '2011-10-31 11:00:00')を文字列として持っていますか? – Caner

答えて

1

手順を教えて:

  1. はあなたの文字列
  2. 使用CalendarsetTimeとの日からDate -objectを作成するSimpleDateFormatを使用して、 - 日付を設定する方法
  3. Calendarオブジェクトを使用するあなたが必要とするものを手に入れてください。

短い例:

Calendar calendar = Calendar.getInstance(); 
calendar.setTime(new SimpleDateFormat("dd").parse(s)); 
int day_of_week = calendar.get(Calendar.DAY_OF_WEEK); 

あなたはそれにTimeZoneLocaleを追加migth。また、sはあなたの日付文字列です。

+0

ありがとう、私のために尋ねるのは非常に愚かですが、そのタイプの不一致 – ingsaurabh

+0

どこですか?私はコードをテストしなかったので、これが可能かもしれません。 –

+0

私はその+1を解決しました – ingsaurabh

0
Calendar cal = Calendar.newInstance() 
cal.set(2011, 10, 31, 11, 0, 0) 
int day = cal.get(Calendar.DAY_OF_WEEK); 

あなたはあなたの日付を取得するために設定できるフィールドを確認するためにCalendar classのドキュメントを見ることができて、それを行う方法を得ていません。

+0

感謝を私は理解しないすべての最もすべてが – ingsaurabh

+0

私はあなたが日付を使用したくないと思った? –

+0

ええ、私は日付を使用したくありませんが、このアプローチは手動の解析につながります – ingsaurabh

0

あなたは日付を解析し、日付をフォーマットSimpleDateFormatクラスを使用することができます。

String dateStr = "2011-10-31 11:00:00"; 

SimpleDateFormat curFormater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
Date dateObj = curFormater.parse(dateStr); 

SimpleDateFormat df = new SimpleDateFormat("dd");  // "yyyy-MM-dd HH:mm:ss" 
String formattedDate = df.format(date); 

Toast.makeText(this, formattedDate, Toast.LENGTH_SHORT).show(); 

チェックこれと私はステップによって

+0

...日付クラスを使用して答えを更新し、指定した日付 – ingsaurabh

+0

チェックする必要があり、現在の時刻を渡したい、私は更新されているいけません答え –