2010-08-05 6 views
0

Existe-t-il un équivalent (ou vaguement similaire) au strtotime de PHP dans Objective C/iPhone?strtotime de PHP dans l'objectif C/iPhone

strtotime peut par exemple comprendre les expressions de temps ci-dessous (à partir de la documentation php):

  • écho strtotime ("maintenant"), "\ n";
  • echo strtotime ("10 septembre 2000"), "\ n";
  • echo strtotime ("+ 1 jour"), "\ n";
  • echo strtotime ("+ 1 semaine"), "\ n";
  • echo strtotime ("+ 1 semaine 2 jours 4 heures 2 secondes"), "\ n";
  • echo strtotime ("jeudi prochain"), "\ n";
  • echo strtotime ("dernier lundi"), "\ n";

Répondre

0

Voici un code pour la première et la seconde de vos requêtes:

  • écho strtotime ("maintenant"), "\ n";
  • echo strtotime ("10 septembre 2000"), "\ n";
 
    NSDateFormatter *format = [[NSDateFormatter alloc] init]; 
    [format setDateFormat:@"dd MMM yyyy"]; 
    NSDate *now = [[NSDate alloc] init]; 
    NSString *dateString = [format stringFromDate:now]; 
    NSLog(@"The time: %@", dateString); 

    NSDate *parsed = [format dateFromString:@"10 Sep 2000"]; 
    NSLog(@"The time: %@", [format stringFromDate:parsed]); 

Il est évident que les objets alloc-ées ont besoin de libération.

Et voici un article qui peut aider les autres:

http://www.drobnik.com/touch/2009/05/adding-days-to-nsdate

+1

Je pense que Michael et vous avez manqué le point, parce que vous ne devriez pas avoir besoin de connaître le format d'entrée (c'est la conception de strtime). Je suppose simplement que la réponse est "il n'y a pas d'équivalent". – Jonny

+0

Eh bien, Objective-C n'est pas un langage de script comme PHP, donc il ne peut pas faire ce que vous voulez qu'il fasse. La réponse est - il y a un équivalent mais c'est un équivalent statiquement typé et c'est un peu plus verbeux. – Matt

0

Tout d'un coup je me suis souvenu du projet « PHPJS ». Il y a un port javascript de strtotime ici:

http://phpjs.org/functions/strtotime:554

Je n'ai pas encore le tester (ce qui signifie, portage à une fonction Objectif C ou similaire), donc je ne suis pas sûr de savoir comment il exécute réellement en comparaison avec le strtotime original. Peut avoir le temps de vérifier cela plus tard ...

Questions connexes