使用codeigniter在php中以天为单位的两个日期之间的差异

daolsyd0  于 2023-01-08  发布在  PHP
关注(0)|答案(7)|浏览(162)

我有两个日期字段中的客户表单。实际上,我发现在客户生日日期和客户结婚日期之间的天数。我会尝试这个代码来完成我的问题,但它不工作。我错了。

    • 我的控制器代码**
$date1=$_POST['customer_birth'];
$date2=$_POST['customer_marriage'];
$datediff = $date1 - $date2;
echo floor($datediff / (60 * 60 * 24)); exit ;

它给我的输出是0
谢谢帮忙

nfg76nw0

nfg76nw01#

使用php的date_diff()函数计算两个日期的差值

<?php
    $date1=date_create("2013-03-15");
    $date2=date_create("2013-12-12");
    $diff=date_diff($date1,$date2);//OP: +272 days 
?>

您可以在这里查看手册PHP date_diff()

bybem2ql

bybem2ql2#

最好的方法,你可以按照下面的解决方案。

$date1 = date("Y-m-d",strtotime($_POST['customer_birth']));
$date2 = date("Y-m-d",strtotime($_POST['customer_marriage']));

$diff = abs(strtotime($date2) - strtotime($date1));

$years = floor($diff / (365*60*60*24));
$months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
$days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));

如果不行就告诉我。

eni9jsuy

eni9jsuy3#

您的解决方案是...

$date1      = date_create('2015-07-31');
$date2      = date_create('2016-07-31');
$diff       = date_diff($date1,$date2);
$days       = $diff->format("%a")+1;
1tuwyuhd

1tuwyuhd4#

您还可以执行以下代码

$datetime1 = date_create($user['datee']);

$datetime2 = date_create($user['date1']);

$interval  = date_diff($datetime1, $datetime2);

$x = @($interval->format('%R%a days')+1);
ylamdve6

ylamdve65#

您可以通过比较时间戳来完成以下操作:

$date1 = '06/22/2017';
$date2 = '06/24/2017';

$datediff = (strtotime($date2) - strtotime($date1));
echo floor($datediff / (60 * 60 * 24));
jtoj6r0c

jtoj6r0c6#

这将帮助您:

$date1 = strtotime($date1);
$date2 = strtotime($date2);
$datediff = $date1 - $date2;

$no_of_days =  floor($datediff / (60 * 60 * 24));

var_dump($no_of_days );
pqwbnv8z

pqwbnv8z7#

试试这个

$from_data = date('m',strtotime('11-10-2022 12:12:00'));
$to_date = date('m',strtotime('13-10-2022 10:12:0'));

$month_difference = $to_date - $from_date;

相关问题