1

OSx でローカル タイムゾーンを使用して struct tm を作成しようとしています。

#import <time.h>
#import <xlocale.h>//This is here because I was trying strptime_l

int main(int argc, const char * argv[])
{

  struct tm start;
  memset(&start, 0, sizeof(struct tm));
  const char *formatString = "%m/%d/%Y %R";

  (void) strptime("7/15/2013 16:00", formatString, &start);//Mon Jul 15 @ 4pm EST

  printf("%s\n", start.tm_zone); //prints null

  if (!start.tm_zone) {
     time_t now;
     time(&now);
     printf("%s\n", localtime(&now)->tm_zone);//But I have the right timezone here.
  }

  return 0;
}

OSxのドキュメントによると:

strptime() 関数は現在のロケールを使用しますが、strptime_l() 関数はロケールを直接渡すことができます。詳細については、xlocale(3) を参照してください。

私の最終目標は、NSDate オブジェクトを作成できるようにして、最終的に iPhone でカレンダー イベントを作成できるようにすることです。

4

0 に答える 0