我想在 php 中使用特定日期格式获取昨天的日期,格式如下:
$today = date("d.m.Y"); //15.04.2013
可能吗?
如果应该分别更改它们,请考虑月份和年份。
你去吧
date('d.m.Y',strtotime("-1 days"));
如果月份更改,这也将起作用
尝试这个
$tz = new DateTimeZone('Your Time Zone');
$date = new DateTime($today,$tz);
$interval = new DateInterval('P1D');
$date->sub($interval);
echo $date->format('d.m.y');
?>
PHP 中的昨天日期:
echo date("Y-m-d", strtotime("yesterday"));
你可以这样做
date("F j, Y", time() - 60 * 60 * 24);
或通过
date("F j, Y", strtotime("yesterday"));
步骤1
我们需要在函数 date() 中设置格式数据:函数 date() 返回一个根据给定格式字符串格式化的字符串,使用给定的整数时间戳或当前时间,如果没有给出时间戳。换句话说,timestamp 是可选的,默认为 time() 的值。
<?php
echo date("F j, Y");
?>
结果:2010 年 3 月 30 日
第2步
对于“昨天”日期,使用 php 函数 mktime():函数 mktime() 返回与给定参数对应的 Unix 时间戳。此时间戳是一个长整数,包含 Unix 纪元(1970 年 1 月 1 日 00:00:00 GMT)和指定时间之间的秒数。参数可以按从右到左的顺序省略;任何因此省略的参数都将根据本地日期和时间设置为当前值。
<?php
echo mktime(0, 0, 0, date("m"), date("d")-1, date("Y"));
?>
结果:1269820800
第 3 步
现在合并所有,看看这个:
<?php
$yesterday = date("Y-m-d", mktime(0, 0, 0, date("m") , date("d")-1,date("Y")));
echo $yesterday;
?>
结果:2010 年 3 月 29 日
类似地操作,可以接收时间倒退。
<?php
$yesterday = date("H:i:s",mktime(date("H"), 0, 0, date("m"),date("d"), date("Y")));
echo $yesterday;
?>
结果:20:00:00
或 7 天前:
<?php
$week = date("Y-m-d",mktime(0, 0, 0, date("m"), date("d")-7,date("Y")));
echo $week;
?>
结果:2010-03-23
如果您在 PHP 应用程序中定义时区(如您所愿),您可以这样做:
date_default_timezone_set('Europe/Paris');
然后它很简单:
$yesterday = new DateTime('yesterday'); // will use our default timezone, Paris
echo $yesterday->format('Y-m-d'); // or whatever format you want
(您可能需要定义一个常量或环境变量来存储您的默认时区。)
DateTime 的另一种 OOP 方法,可设置确切的时间:
$yesterday = new DateTime("yesterday 09:00:59", new DateTimeZone('Europe/London'));
echo $yesterday->format('Y-m-d H:i:s') . "\n";
尝试这个
<?php
$yesterday = date(“d.m.Y”, time()-86400);
echo $yesterday;
大多数答案都是程序/混合风格。这是纯 OOP 风格的解决方案:
$today = new DateTime();
$yesterday = $today->sub(new DateInterval("P1D"));
echo $yesterday->format("d.m.Y");
它还将处理夏令时和时区问题。简单的解决方案。
您也可以使用Carbon库执行此操作:
Carbon::yesterday()->format('d.m.Y'); // '26.03.2019'
其他格式:
Carbon::yesterday()->toDateString(); // '2019-03-26'
Carbon::yesterday()->toDateTimeString(); // '2019-03-26 00:00:00'
Carbon::yesterday()->toFormattedDateString(); // 'Mar 26, 2019'
Carbon::yesterday()->toDayDateTimeString(); // 'Tue, Mar 26, 2019 12:00 AM'
function getYesterday()
{
return \Carbon\Carbon::yesterday()->format('Y-m-d');
}
getYesterday();
我们可以使用 Fancy 方法。就像昨天这样。今天之前
$date = new DateTime; // example 2021-04-02
date_sub($date, date_interval_create_from_date_string('1 days'));
$date = date_format($date, 'Y-m-d'); // Output will be 2021-04-01
或者我们可以通过这样的特定日期找到昨天。
$date = date_create('2021-04-06');
date_sub($date, date_interval_create_from_date_string('5 days'));
$date = date_format($date, 'Y-m-d'); // The output will be 2021-04-01