我知道Win32有Nls功能
GetDateFormat,例如:
GetDateFormat(…, …, …, "dddd','MM','y", …, …);
它有GetTimeFormat,例如:
GetTimeFormat(…, …, …, "tt ss':'hh':'mm", …, …);
但有没有办法同时格式化,例如:
GetDateTimeFormat(…, …, …, "tt dddd' - 'ss':'y';'hh':'mm MM", …, …);
注意:有意构造格式字符串以证明并非所有格式字符串都是线性可分离的.
最佳答案 我记得前一段时间遇到同样的问题.不幸的是,没有简单的方法来格式化具有混合日期和时间字段的字符串.尝试分两步执行此操作容易出错,因为第一次替换可能会生成其字母被误认为格式代码的单词.
我当时的解决方案是手动扫描格式字符串并通过为每个代码调用GetDateFormat()和GetTimeFormat()来生成输出.如果需要,可以通过对连续的时间或日期代码进行分组来优化.