秒到天,小时和分钟(可定制的日期长度)

时间:2012-04-16 03:39:56

标签: c++

我有一个循环,在每个循环中,我得到应用程序运行的当前秒数,然后我希望将此时间转换为秒数计算到的数量,天数,小时数和秒数,但不是真实的时间'我需要能够自定义一天中的秒数,我已经在SO和网络上尝试了一些示例,但似乎没有任何内容可供选择。我有一些定义

#define DAY             1200
#define HOUR            DAY / 24
#define MINUTE          HOUR / 60
#define SECOND          MINUTE / 60

所以在我的定义中,一天会持续1200秒。然后我一直试图将经过的秒数转换为“我的”。秒

seconds_passed = fmodf(SECOND, (float)(GetTicks() / 1000));

返回SECOND等于(0.013889)然后每个循环是相同的,它永远不会改变我以为我只能转换为例如:1real second到1.25fake秒然后

Minute = (seconds_passed / MINUTE);
seconds_passed = fmodf(seconds_passed, MINUTE);

计算自应用程序启动以来已经过了多少(假)分钟,(假)小时和(假)天。

希望有意义,谢谢你的时间。

1 个答案:

答案 0 :(得分:1)

由于您想要自定义一天中的秒数,您所做的只是改变1秒的比例:1秒。

例如,如果你在一天内做了1200秒,你的比例为:
1:72
也就是说,在你每天过去的每1秒,它是72真实秒数的等值。

所以是的,基本上你需要在你的程序中做的就是找到1秒到1秒的比率,用你的经过秒数来获得'假'秒,然后使用那个值...... 代码可能如下所示:

// get the ratio second:fake_second
#define REAL_DAY_SECONDS 86400
int ratio = REAL_DAY_SECONDS / DAY;

fake_to_real = fake_second*ratio;
real_to_fake = real_second/ratio;