我想使用php中的特定日期格式来获取昨天的日期,这是以下格式:
$today = date("d.m.Y"); //15.04.2013
可能吗?
如果应该分别更改月份和年份,请考虑它们。
我想使用php中的特定日期格式来获取昨天的日期,这是以下格式:
$today = date("d.m.Y"); //15.04.2013
可能吗?
如果应该分别更改月份和年份,请考虑它们。
Answers:
你去
date('d.m.Y',strtotime("-1 days"));
如果月份更改,这也将起作用
你可以这样做
date("F j, Y", time() - 60 * 60 * 24);
或
date("F j, Y", strtotime("yesterday"));
步骤1
我们需要在函数date()中设置格式数据:函数date()返回一个字符串,该字符串使用给定的整数时间戳或当前时间(如果未提供时间戳)根据给定的格式字符串格式化。换句话说,时间戳是可选的,默认为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
第三步
现在合并所有内容并查看以下内容:
<?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
试试这个
$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"));
如果您在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
(您可能需要定义一个常量或环境变量来存储默认时区。)
您还可以使用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'