相关疑难解决方法(0)

如何使用strtotime和日期获得相对于今天的上个月和年份?

相对于当前日期,我需要获得上个月和上年.

但是,请参阅以下示例.

// Today is 2011-03-30
echo date('Y-m-d', strtotime('last month'));

// Output:
2011-03-02
Run Code Online (Sandbox Code Playgroud)

由于2月和3月的天数不同,这种行为是可以理解的(在某一点上),上面的例子中的代码是我需要的,但是每个月的1号和28号之间只能正确地工作100%.

那么,如何以date("Y-m")最优雅的方式获得上个月和一年(想想),这适用于一年中的每一天?最佳解决方案将基于strtotime参数解析.

更新.稍微澄清一下要求.

我有一段代码可以获得过去几个月的统计数据,但我首先显示上个月的统计数据,然后在需要时加载其他月份.这是预期的目的.所以,在这个月里,我想知道我应该在哪个月份来加载上个月的统计数据.

我还有一个时区感知的代码(现在不是很重要),并且接受strtotime兼容的字符串作为输入(初始化内部日期),然后允许调整日期/时间,也使用strtotime-compatible字符串.

我知道它可以通过几个条件和基本数学来完成,但与此相比,这是非常混乱的,例如(如果它正常工作,当然):

echo tz::date('last month')->format('Y-d')
Run Code Online (Sandbox Code Playgroud)

所以,我只需要一个月和一年,以一种strtotime兼容的方式.

回答(谢谢,@ ndagirl):

// Today is 2011-03-30
echo date('Y-m-d', strtotime('first day of last month')); // Output: 2011-02-01
Run Code Online (Sandbox Code Playgroud)

php date strtotime

58
推荐指数
8
解决办法
12万
查看次数

PHP从日期格式中减去1个月('m-Y')

我想从约会中减去1个月.

$today = date('m-Y');
Run Code Online (Sandbox Code Playgroud)

这给出了:08-2016

我怎样才能减去一个月才能得到07-2016

php date subtraction

20
推荐指数
4
解决办法
4万
查看次数

标签 统计

date ×2

php ×2

strtotime ×1

subtraction ×1