将字符串转换为日期php

将字符串转换为日期php,php,mysql,Php,Mysql,你好,我想建造 我从表xxx中得到$date和$date1。我想制定休假计划 现在,我希望使用变量字符串处理$date,该字符串的值为xx xx xxxx(dd/mm/yyyy)和 $date1带值现在我想将它们转换为date 我已经知道如何使用datediff()计算日期 我转换$date以便可以使用dateadd()函数 这是密码 $t1 = substr($date,0,2); $b1 = substr($date,3,2); $y1 = substr($date,6,4); $t2 =

你好,我想建造

我从表xxx中得到$date和$date1。我想制定休假计划

现在,我希望使用变量字符串处理$date,该字符串的值为xx xx xxxx(dd/mm/yyyy)和 $date1带值现在我想将它们转换为date

我已经知道如何使用datediff()计算日期

我转换$date以便可以使用dateadd()函数

这是密码

$t1 = substr($date,0,2);
$b1 = substr($date,3,2);
$y1 = substr($date,6,4);

$t2 = substr($date11,0,2);
$b2 = substr($date1,3,2);
$y2 = substr($date1,6,4);

$tawal ="$y1-$b1-$t1";
$takhir = "$y2-$b2-$t2";

$query = "SELECT datediff('$takhir', '$tawal')as selisih";
$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);

$times = $data['selisih']; 
$times = + 1;
这是照片

您不需要substr或mysql。首先,在不使用substr的情况下获得您的约会:

$tawal = date('Y-m-d', strtotime($date));
$takhir = date('Y-m-d', strtotime($date1));
现在您有了Y-m-d格式的字符串。要找到差异,尽管您不必转换为Y-m-d,因为我们不需要mysql。您可以使用以秒为单位查找差异

$diff = abs(strtotime($date2) - strtotime($date));
$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));

以下是我的日期助手:

function date_as($date, $format = 'Verbal, hour:minute')
{
    parse_date($date);

    $format = str_replace(array('verbal', 'Verbal'), array($date['verbal'], $date['Verbal']), $format);

    return str_replace(array_keys($date), array_values($date), $format);
}

function parse_date(&$date)
{
    $unix   = is_numeric($date) ? $date : strtotime($date);

    $date = array(
        'month'     => strtolower(date('F', $unix)),
        'dayweek'   => strtolower(date('l', $unix)),
        'date'      => date('d', $unix),
        'year'      => date('Y', $unix),
        'hour'      => date('H', $unix),
        'minute'    => date('i', $unix),
        'second'    => date('s', $unix),
        'today'     => (date('Y-m-d',strtotime('now')) == date('Y-m-d', $unix)),
        'yesterday' => (date('Y-m-d', strtotime('now - 1 day')) == date('Y-m-d', $unix)),
        'tomorrow'  => (date('Y-m-d', strtotime('now + 1 day')) == date('Y-m-d', $unix)),
        'mint'      => date('m', $unix),
    );

    if ($date['yesterday'])
    {
        $date['verbal'] = 'yesterday';
    }
    elseif ($date['today'])
    {
        $date['verbal'] = 'today';
    }
    elseif ($date['tomorrow'])
    {
        $date['verbal'] = 'tomorrow';
    }
    else
    {
        $date['verbal'] = 'date month';
    }

    foreach (array('dayweek', 'month', 'verbal', 'date') as $p)
    {
        $date[ucfirst($p)] = mb_convert_case($date[$p], \MB_CASE_TITLE, 'UTF-8');
    }
}
格式,如你所愿