php时间周期对象

2021-10-30
$durations = [
    'Y',  // 年
    'M',  // 月
    'D',  // 天
    'W',  // 周。这些会转换为天,因此不能与合并D。
    'H',  // 小时
    'M',  // 分钟
    'S',  // 秒
];
// 根据$duration创建时间周期对象;$duration规范:以字母P开头每个持续时间由一个整数值表示,后跟一个周期指示符,如果指定时间好需要在时间前加T;从大到小指定周期,例:P1Y4D,P1DT1H
$interval = new DateInterval($duration);

$formats = [
    'Y', // 年,至少2位,有前导0	
    'y', // 年
    'M', // 月,至少2位,有前导0
    'm', // 月
    'D', // 天,有前导0
    'd', // 天
    'a', // 由于DateTime :: diff()或(unknown)其他原因导致的总天数
    'H', // 小时,至少2位,有前导0
    'h', // 小时
    'I', // 分钟,至少2位,有前导0
    'i', // 分钟
    'S', // 秒,至少2位,有前导0
    's', // 秒
    'F', // 微秒,至少6位,,有前导0
    'f', // 微秒
    'R', // 负的加“-”,正的加“+”
    'r', // 负的加“-”,正的加“空”
];

// 将对象格式化为人类易懂的数据;$format规范:每个格式字符必须以%为前缀,可以有其他非指定的格式字符
$interval->format($format);

 

{/if}