代码之家  ›  专栏  ›  技术社区  ›  Ian Boyd

win32:存在GetDateFormat和GetTimeFormat。获取日期时间格式?

  •  4
  • Ian Boyd  · 技术社区  · 15 年前

    我知道win32有nls功能 GetDateFormat ,例如:

    GetDateFormat(…, …, …, "dddd','MM','y", …, …);
    

    而且它有 GetTimeFormat ,例如:

    GetTimeFormat(…, …, …, "tt ss':'hh':'mm", …, …);
    

    但是有没有办法同时格式化这两种格式,例如:

    GetDateTimeFormat(…, …, …, "tt dddd' - 'ss':'y';'hh':'mm MM", …, …);
    

    音符: 格式字符串的构造是为了证明并非所有格式字符串都是线性分隔的。

    1 回复  |  直到 10 年前
        1
  •  2
  •   efotinis    14 年前

    我记得以前也有同样的问题。不幸的是,无法用混合日期和时间字段来格式化字符串。试着分两步来做是容易出错的,因为第一个替换可能会生成字母被误认为格式代码的单词。

    当时我的解决方案是手动扫描格式字符串并通过调用 GetDateFormat() GetTimeFormat() 对于每个代码。如果需要,可以通过对连续的时间或日期代码进行分组来优化。