Comment se convertir un NSString comme « 02/01/10 » (c'est-à-dire le 1er février 2010) en un NSDate ? Et comment pourrais je retourner la NSDate dans une chaîne ?
Réponses
Trop de publicités?
<h2>Objective-C<p><strong>NSString à NSDate</strong></p><pre><code></code></pre><p><strong>NSDate àen NSString :</strong></p><pre><code></code></pre><p>`</p><hr><h2><strong>SWIFT</strong></h2><p>Mise à jour : 27 août 2014</p><p><strong>Chaîne à NSDate</strong></p><pre><code></code></pre><p><strong>NSDate à chaîne</strong></p><pre><code></code></pre></h2>
Geri
Points
3572
Faites un NSString extension .
// Simple as this.
date = dateString.dateValue;
Grâce à NSDataDetector, il reconnaît tout un tas de format.
'2014-01-16' dateValue is <2014-01-16 11:00:00 +0000>
'2014.01.16' dateValue is <2014-01-16 11:00:00 +0000>
'2014/01/16' dateValue is <2014-01-16 11:00:00 +0000>
'2014 Jan 16' dateValue is <2014-01-16 11:00:00 +0000>
'2014 Jan 16th' dateValue is <2014-01-16 11:00:00 +0000>
'20140116' dateValue is <2014-01-16 11:00:00 +0000>
'01-16-2014' dateValue is <2014-01-16 11:00:00 +0000>
'01.16.2014' dateValue is <2014-01-16 11:00:00 +0000>
'01/16/2014' dateValue is <2014-01-16 11:00:00 +0000>
'16 January 2014' dateValue is <2014-01-16 11:00:00 +0000>
'01-16-2014 17:05:05' dateValue is <2014-01-16 16:05:05 +0000>
'01-16-2014 T 17:05:05 UTC' dateValue is <2014-01-16 17:05:05 +0000>
'17:05, 1 January 2014 (UTC)' dateValue is <2014-01-01 16:05:00 +0000>
Une partie de l' eppz!kit, prenez la catégorie NSString+EPPZKit.h à partir de GitHub.
RÉPONSE ORIGINALE à cette question: Si vous ne savez pas (ou pas de soins) sur le format de la date contenue dans la chaîne, utilisez NSDataDetector pour l'analyse de la date.
//Role players.
NSString *dateString = @"Wed, 03 Jul 2013 02:16:02 -0700";
__block NSDate *detectedDate;
//Detect.
NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingAllTypes error:nil];
[detector enumerateMatchesInString:dateString
options:kNilOptions
range:NSMakeRange(0, [dateString length])
usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop)
{ detectedDate = result.date; }];
Sveinung Kval Bakken
Points
1705
RubberDuck
Points
7337
Mohit Popat
Points
907