【问题标题】:PHP - Convert integer duration to formatted string [duplicate]PHP - 将整数持续时间转换为格式化字符串[重复]
【发布时间】:2014-03-31 08:43:35
【问题描述】:

我有一个表单输入,它接受时间间隔字符串,例如“1 天”、“3 周”、“2 个月、10 天”等,并将它们转换为总秒数的整数表示,因此“1 天”变为86400.

现在我需要能够检索整数并将其转换回可编辑的格式化字符串。

我尝试过使用 DateInterval,但运气不佳。此外,据我收集的信息,这将限制我仅以一种格式显示它,因此它可以显示“3 天”或“58 天”。

有人知道可以将持续时间时间戳转换为最合适的间隔格式字符串的脚本吗?

【问题讨论】:

标签: php date string-formatting dateinterval


【解决方案1】:

类似这样的:

<?php
$secs=7*106400;
$days=(int)($secs/(60*60*24));
$weeks=(int)($days/7);
$days=$days%7;
$remaining=$secs%(60*60*24);
$hours=(int)($remaining/(60*60));
$remaining=$remaining%(60*60);
$minutes=(int)($remaining/(60));
$remaining=$remaining%(60);
echo $weeks.' weeks '.$days.' days '.$hours.' hours '.$minutes.' minutes '.$remaining.' seconds';

输出:

1 weeks 1 days 14 hours 53 minutes 20 seconds

【讨论】:

    猜你喜欢
    • 2021-01-11
    • 1970-01-01
    • 1970-01-01
    • 2016-11-27
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多