2012-02-15 6 views
3

日付形式:連絡先の誕生日と記念日の作業Androidの連絡先の誕生日記念

私は、この2012年2月12日または2012年12月2日または2012年12月2日または2/12/12

などの詳細と誕生日を取得

質問:

  1. すべてのサムスンの携帯電話間で同じ日付形式です。もしそうなら、日付形式は何ですか?日付が2012年2月12日または2012年2月12日または任意の他の場合と同様に日付形式を識別するための方法

    (誕生日の日付は、多くの異なる形式で保存されているよう推測は、すべてのAndroid携帯電話上では動作しません)

  2. 日付文字列パターン。それは形式 "yyyy-MM-dd"か "MMM dd、yyyy"か他の形式ですか? 例:日付が "2012年2月12日" である場合、日付形式は、 "MMM用のDD YYYY" 日付 "YYYY-MM-DD" として記憶される

答えて

0

あります。

日付書式クラスを使用して、必要な形式に変換します。

更新するときは、読んでいるのと同じ形式で挿入します。

2

SimpleDateFormatで独自のパターンを作成する代わりにDateFormat.getDateInstance(int style, Locale locale)を使用してください。

uは以下のコード

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); 
3

に文字列にし、パスの後の日付を取得したいもう一つの方法は、残念ながら別のアプリケーション/ベンダーが異なるフォーマットを使用しているようです。これに対する私の解決策は、正しいフォーマットを見つけるか、あきらめるまで、さまざまなフォーマットを解析することです。ここで

は、いくつかのサンプルコードです:

public static final SimpleDateFormat[] birthdayFormats = { 
    new SimpleDateFormat("yyyy-MM-dd"), 
    new SimpleDateFormat("yyyyMMdd"), 
    new SimpleDateFormat("yyyy.MM.dd"), 
    new SimpleDateFormat("yy-MM-dd"),, 
    new SimpleDateFormat("yyMMdd"), 
    new SimpleDateFormat("yy.MM.dd") 
    new SimpleDateFormat("yy/MM/dd"), 
    new SimpleDateFormat("MM-dd"), 
    new SimpleDateFormat("MMdd"), 
    new SimpleDateFormat("MM/dd"), 
    new SimpleDateFormat("MM.dd"), 
}; 
..... 
    Date birthday = null; 
     for (SimpleDateFormat f : birthdayFormats) { 
     try { 
       birthday = f.parse(birthdaystr); 
       if (birthday!=null) { 
         contact.setBirthday(birthday); 
         break; 
       } 
     } catch (Exception e) { 
       continue; 
     } 
      } 
関連する問題