我试图将C中的时间戳分割成适当的格式,这种格式是hh:mm:ss格式。
时间戳以正整数形式存储在hhmmss格式中。有什么方法可以用C来格式化吗?
我没有代码显示,因为我不知道从哪里真正开始,我的想法是将时间戳存储在字符数组中,然后每2个字符打印一个':'字符。
示例输出:
timestamp = 123456我想把它显示为12:34:56
timestamp = 010203我想把它显示为01:02:03
发布于 2014-03-17 02:14:45
int timestamp = 10203;
int hour = timestamp / 10000;
int minute = timestamp % 10000 / 100;
int second = timestamp % 100;
printf("%02d:%02d:%02d\n", hour, minute, second);当时间戳以0开头时要小心,因为010203是一个八进制整数文本,其结果可能与您预期的不一样。
发布于 2014-03-17 02:11:43
您可以使用整数除法来拆分您喜欢的数字。
例如,为了得到你可以做的秒
seconds = timestamp % 100为了得到你能得到的时间
minutes = (timestamp / 100) % 100然后您可以使用printf以任意格式打印时间。
例如:
printf("%02d:%02d", minutes, seconds);https://stackoverflow.com/questions/22445806
复制相似问题