代码之家  ›  专栏  ›  技术社区  ›  Andy

在Win32中从字符串解析日期

  •  3
  • Andy  · 技术社区  · 16 年前

    我有一个包含日期的字符串,另一个字符串包含第一个字符串的日期格式。我是否可以调用一个函数将该日期转换为类似SYSTEMTIME结构的内容?基本上,我想要的是相反的 GetDateFormat()

    5 回复  |  直到 16 年前
        1
  •  3
  •   Anthony Williams    16 年前

    它并不像你描述的那样,但我会先用 COleDateTime::ParseDateTime . 它使用本地化的日期时间格式。

        2
  •  2
  •   Ajay    7 年前

    不可以,但您可以编写一个函数,将日期格式字符串转换为 sscanf 格式化字符串和一系列变量。然后将数据从变量复制到 SYSTEMTIME 结构,你们都准备好了。

    这不是小事,但如果您必须支持多种不同的日期格式,它可能是最灵活的安排。

        3
  •  0
  •   KPexEA    16 年前

    在源文件中 Here .

    我有一个函数,可以读取一系列不同格式的日期,这个函数叫做

    bool kGUIDate::Setz(const char *datestring)
    

    代码是LGPL,所以可以随意复制它。

    /* formats excepted are: */
    /* yyyy-mm-dd */
    /* Wdy, DD-Mon-YY HH:MM:SS GMT */
    /* Wdy, D Mon YY HH:MM:SS GMT */
    
        4
  •  0
  •   Adam Rosenfield    16 年前

    如果您有POSIX系统,则可以使用 strptime() 作用不幸的是,MSVC2005在其C运行时中似乎没有这个函数;MinGW for Windows确实如此。