我试图在php中减去两个日期,但结果总是返回为零,即使数据确实有值,当我回显日期时它们返回正确但我将它们作为字符串格式存储在WordP中的ACF中。
但数据是相同的,即date_joined
日期加入价值是05/31/2016 06:33:27
日期到期价值是06/14/2016 06:33:27
<?php
$dateJoined = the_field('date_joined', $post_id );
$expiredate = the_field('expiry_date', $post_id );
//Convert them to timestamps.
$difference=(int)abs((strtotime($expiredate) - strtotime($dateJoined))/(60*60*24*30)); // 3
?>
我正在使用
检索值 $dateJoined = the_field('date_joined', $post_id );
$expiredate = the_field('expiry_date', $post_id );
高级自定义字段用户检索自定义字段值的方法,但是当您看到它只返回字符串时
答案 0 :(得分:0)
您将大约15天的时间戳差异除以相当于30天的时间,并将结果转换为整数。因此结果是0。
对于代码中的大多数用途,以秒为单位的差异就足够了:
$difference = abs((strtotime($expiredate) - strtotime($dateJoined));
如果您需要将该值与较粗糙时间单位中的其他值进行比较,请将比较值(乘以)转换为秒。
仅将您的工作价值转换为较粗糙的单位,以便将结果呈现给用户(例如,您的密码将在3天后过期)。