【问题标题】:Tring to format milliseconds in SYSTEMTIME to only show the first two digits将 SYSTEMTIME 中的毫秒格式化为仅显示前两位数字
【发布时间】:2023-04-07 18:19:02
【问题描述】:

您好,我正在尝试格式化 string,以便我能够将系统时间设置为 HH:MM:SS:MM(Milliseconds)

我已经写好了

SYSTEMTIME time;
GetLocalTime(&time);
line.Format("%02d:%02d:%02d:%02d \n" ,time.wHour, time.wMinute, time.wSecond, time.wMilliseconds);

我的问题是我得到这样的东西,例如:10:17:30:210

我真的不想要毫秒的第 3 位数字,如何将其截断为只有两位?

【问题讨论】:

  • 显示“21”会很奇怪——因为它不是 21,而是 210。21 是厘秒,而不是毫秒。这几乎必然会引起混乱......
  • 这是什么语言? C#?请edit问题并添加适当的标签。

标签: string format systemtime


【解决方案1】:

您可以很简单地除以 10 - time.wMilliseconds/10

SYSTEMTIME time;
GetLocalTime(&time);
line.Format("%02d:%02d:%02d:%02d\n" ,time.wHour, time.wMinute, time.wSecond,
            time.wMilliseconds/10);

【讨论】:

    猜你喜欢
    • 2014-01-09
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 2011-09-26
    • 1970-01-01
    • 2018-10-11
    • 2021-10-11
    • 1970-01-01
    相关资源
    最近更新 更多