2012-02-09 3 views
0

私のデータは次のように文字列に格納されています。 "Tuesday 31st January 2011 10:15 am"日付を表す格納された文字列からdaynameを削除する

私はdateFromStringを使用してからNSDateFormatterを別の形式に変更しようとしました(理想的には、hh:mm(24時間)dd/mm/yyyyとして表示したい)。私は平日の名前を削除する方法を見つけることができないので、結果を印刷しようとするたびにnullとして出力されます。

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
//is EEEE is for weekdays? 

[df setDateFormat:@"EEEE-dd-MM-yyyy hh:mm a"]; 

NSDate *myDate = [df dateFromString:[[_feeds[_currentTableView] objectAtIndex:row] objectForKey:@"created"]]; 

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"dd-MM-yyyy"]; 

NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init]; 
[timeFormat setDateFormat:@"HH:mm"]; 

NSDate *now = [[NSDate alloc] init]; 

NSString *theDate = [dateFormat stringFromDate:myDate]; 
NSString *theTime = [timeFormat stringFromDate:myDate]; 

NSLog(@"\n" 
     "theDate: |%@| \n" 
     "theTime: |%@| \n" 
     , theDate, theTime); 

[dateFormat release]; 
[timeFormat release]; 
[now release]; 

誰でも手助けできますか?ありがとう

答えて

1

問題を解析または書式設定のいずれかに分離する必要があります。私の推測は、それが解析だということです。ここにあなたのサンプル文字列です:

"Tuesday 31st January 2011 10:15am" 

そして、あなたのフォーマット:

"EEEE-dd-MM-yyyy hh:mm a" 

彼らが一致しない:

  • をあなたのサンプルテキスト
  • にはハイフンは "ST" がありますありません"31"の後に - あなたはそれをどう扱うか分かりません
  • 月は数字ではなく名前で与えられるので、私は(iOSのの書式指定子は、私が精通してる他のもののようなものであれば)uspect私は、あり「15」の間にスペースはいないと

は「ST」の部分を別にして「AM」

  • 「MMMM」したいです以外による、

    "EEEE dd MMMM yyyy hh:mma" 
    

    ...しかし、私はあなたがエレガントな「ST」(または「目」または「ND」)を扱うだろうか分からない:あなたはの形式をしたいと思います疑います文字列を明示的に混乱させるだけです。

  • +0

    よろしくお願いします。どこから始めたらいいかわかりませんでした。 – TheBestBigAl

    関連する問題