2011-02-07 2 views
0

まず最初に、39日後にJava/Android/Eclipse開発の生活にほとんどすべての質問に対する回答が得られることに感謝します。しかし、今私は非常に予想外の問題に立ち往生しているようです!Androidで日付区切り記号を取得する方法は?

日付を年+月、月+日の形式にのみフォーマットする必要があります。これらは標準的なフォーマットではないので、独自のフォーマットパターンを構築し、DateFormat.format()を使用して文字列を取得する必要があります。私は年、月、日の順序を決定するためにDateFormat.getDateFormatOrder()を使用できることを知っています。しかし、私はまた、 "/"、 " - "、または "。"のような日付区切りを知る必要があります。これは私が立ち往生する場所です、私はそれを行う方法を見つけることができません!

Eclipseデバッガからは、DateFormatオブジェクト内に「パターン」フィールドがあることがわかりますが、公開されていません。 SimpleDateFormat.getDateFormatSymbols()メソッドの名前は、私が望むように聞こえますが、そうではありません。だから....

お手数ですが、どうぞよろしくお願いいたします。

public static String getDateSeparator(){ 
     String dateString = DateFormat.getInstance().format(new java.util.Date()); 
     Matcher matcher = Pattern.compile("[^\\w]").matcher(dateString); 
     if (!matcher.find()) return null; 
     return matcher.group(0); 
    } 

使用この区切り文字を取得するためのコードとsimpledateformatter使用して、その後クレート独自の日付フォーマット:http://developer.android.com/reference/java/text/SimpleDateFormat.html

答えて

5

は、私はあなたのために何かを見つけたと思いますセパレータ?私は非数(またはあなたが月の名前を使用している場合は非英数字)を見つけるまで解析します。

+2

非常に巧妙な解決策です!だから私はあなたとDJの答えを組み合わせて、次のものを思いつきました: 'String datePattern = new SimpleDateFormat()。toPattern(); Matcher matcher = Pattern.compile( "[^ \ w]")。matcher(datePattern); return matcher.find()? matcher.group(0): "/"; ' – wwyt

0

は、あなたが本当に正確に知っておく必要がありますかを

2

SimpleDateFormattoPattern()の方法です。

+0

はい!それは私が探していたものです!どのように私が最初にそれを逃したのか分からない。どうもありがとう。 – wwyt

関連する問題