vc에서 date parser 를 만들려고하는데....

aNsITAte의 이미지

여러가지 형식의 날짜 포맷이 존재하지 않습니까.

Quote:

/** RFC 1123 with 2-digit Year */
"EEE, dd MMM yy HH:mm:ss z",

/** RFC 1123 with 4-digit Year */
"EEE, dd MMM yyyy HH:mm:ss z",

/** ISO 8601 slightly modified */
"yyyy-MM-dd'T'HH:mm:ssZ",

/** ISO 8601 slightly modified */
"yyyy-MM-dd'T'HH:mm:sszzzz",

/** ISO 8601 slightly modified */
"yyyy-MM-dd'T'HH:mm:ss z",

/** ISO 8601 */
"yyyy-MM-dd'T'HH:mm:ssz",

/** ISO 8601 slightly modified */
"yyyy-MM-dd'T'HH:mm:ss",

/** ISO 8601 slightly modified */
"yyyy-MM-dd'T'HHmmss.SSSz",

/** ISO 8601 slightly modified */
"yyyy-MM-dd'T'HH:mm:ss",

/** RFC 1123 without Day Name */
"dd MMM yyyy HH:mm:ss z",

/** ISO 8601 w/o seconds */
"yyyy-MM-dd'T'HH:mmZ",

/** Simple Date Format */
"yyyy-MM-dd"

이런 날짜 포맷을 일괄적으로 처리할 만한 파서 라이브러리가 vc에는 없는건가요?

rfc 문서를 보고서 일일이 짜야하는건지;;

절대로 안그럴거라는 기대를 하면서 질문을 올립니다 ㅠ.ㅠ

ps. 찾아보니까 COleDateTime 라는 클래스가 존재하는데.. 이 클래스가 커버하는 범위가 어느정도인지 모르겠네요.

acidd15의 이미지

http://www.joinc.co.kr/modules/moniwiki/wiki.php/Code_C_date

예전에 제가 PHP소스를 보고 date함수만 옮겨놓은 것입니다.참고하시기 바랍니다.

조금만 수정하시면 윈도우에서도 컴파일 하실수도 있을듯..

lifthrasiir의 이미지

acidd15 wrote:
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Code_C_date

예전에 제가 PHP소스를 보고 date함수만 옮겨놓은 것입니다.참고하시기 바랍니다.

조금만 수정하시면 윈도우에서도 컴파일 하실수도 있을듯..

eternalbleu 님께서는 문자열로 쓰여진 날짜를 파싱하는 방법을 찾으시는 거라서 다른 주제 같습니다.

윈도우 API에 해당하는 함수가 있는 지는 잘 모르겠습니다. 만약 그런 기능을 하는 함수가 없다면, 아무래도 직접 파서를 만드셔야 할 것 같습니다. php의 strtotime 함수는 flex/bison으로 만들어져 있는 걸로 알고 있습니다. 보여 주신 형식에 대한 파서만 작성한다면 굳이 flex/bison까지 쓸 필요는 없을 듯 하네요.

- 토끼군

다크슈테펜의 이미지

전에 제 옆에 동료가 만든거 한번 본적이 있습니다.
우선 COleTime을 캐릭터배열로 토크나이즈 한다음에 파싱을 하는 루틴이 었습니다.
PS:전에 비주얼씨로 했을때는 왠만한 디비에서 GetYear나 아니면 GetDate형태로 잘 불러와 졌습니다만.저도 동료가 왜 그렇게 만들었는지는 잘은 모르겠습니다.날짜가 엉뚱한 값으로 들어온다고 하는데 제가 테스트 했을때는 위에 함수로 잘 불러와 졌던 것으로 기억합니다.
파서를 만든다고 하더래도 rfc까지는 필요없을 겁니다.

인생이란게 다 그런게 아니겠어요....? 뭘(?)
http://schutepen.egloos.com

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.