C언어로 시간정보를 파싱하는 편한 방법이 있나요?

shamlock의 이미지

아래와 같은 문자열로 된 시간정보가 있는데요

2008-03-12T20:21:45.000Z

끝에 000Z에서 Z는 뭘 의미하는것인가요?
또 중간에 있는 글자 T는 뭘의미하는지 설명좀 부탁드립니다.
참고 URL이라도 감사드리겠습니다.
시간과 관련해서 뭔가 복잡한 내용이 있나보네요

C언어로는 time() 하고 gettimeofday() 밖에 안써봐서 ㅠㅠ
혹시 ... 저 시간정보를 제가 직접 문자열 파싱해야 하는 것인가요?

JuEUS-U의 이미지

ISO 8601에 날짜/시간 표기에 관한 표준이 적혀있습니다.
날짜 뒤 T는 둘다 같이 표기할 때 날짜와 시간 사이에 붙이는 겁니다.
뒤의 Z는 UTC 존에서의 시간.
z앞의 .000은 밀리세컨드를 나타내는 건데, ISO에서 있고 없는게 큰 차이라면서 굳이 집어넣습니다 = _=);;
그래서 대충 "…%d.000z" 식으로 출력하곤 하죠;;;

shamlock의 이미지

직접 파싱안하고.. 제공하는 함수는 없을까요?

2008-03-12T20:21:45.000Z

@.@

dorado2의 이미지

strftime 을 사용한 적이 있었던 거 같네요.

그 외 다른 함수는 다른 분이 추천을 ==}

덧.
아래분 답변을 보니 제가 질문의 의도와 다른 엉뚱한 대답을 한 거 같네요 :)
strftime은 시간 변수를 특정 포맷의 문자열로 출력하고자 할 때 사용하는게 맞겠습니다.

select99의 이미지

직접 파싱해도 파싱은 한줄이면 되는데..

다른게 더필요한가요?

sscanf( "2008-03-12T20:21:45.000Z", "%4s-%2s-%2sT%2s:%2s:%2s.000Z", yyyy, mm, dd, hh, mi, ss );

shamlock의 이미지

가끔 귀찮은 파싱을 직접하면서 삽질성 시간을 보내는때가 있는데

sscanf() 함수로 한방에 처리하는 경우를 보고 허탈해지곤 합니다.

이번이 처음이 아니네요(HTTP 헤더를 sscanf()로 깔끔하게 처리하더군요)

왜 유독 sscanf() 함수의 사용을 자주 잊어버리는지..

이렇게 유용한 sscanf()함수를..

감사합니다

컴퓨터 옆에 포스트잍에 sscanf() 함수를 적어둬야겠습니다.

사족
자바스크립트로 문자열 파싱하는 코드를 열심히 작성했는데
웹에서 비슷한 기능을 하는 소스를 보니 .... 정규표현식 한방으로 끝내더군요..
이때도 허탈했었는데..

아직 시간 문자열 파싱하는 코드를 작성하진 않았답니다..
편한게 없나... 고민만 했었는데.. ㅎㅎ 다행입니다.
감사감사 ^^

@.@

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.