我是编码和PHP的世界的新手,并且被下面的代码中的'-01'
做了些什么。PHP strtotime函数quandry
strtotime($someYear . '-' . $someMonth . '-01');
我是编码和PHP的世界的新手,并且被下面的代码中的'-01'
做了些什么。PHP strtotime函数quandry
strtotime($someYear . '-' . $someMonth . '-01');
这是选择月的第一天。
.
是PHP中的字符串连接运算符,PHP会自动将数字转换为字符串。
因此,让我们说你有:
$someYear = 2011;
$someMonth = 5;
而你要这个月开始的时间戳,你可以将其与做:
$someDate = $someYear . '-' . $someMonth . '-01'; // equivalent to "2011-5-01"
strtotime($someDate);
这是一个有点难看,但它的工作原理。
@从此处 - 谢谢。但即使我没有说明,我仍然得到相同的结果。那么为什么要指定它? – PeanutsMonkey 2011-05-04 23:01:04
@从此处 - 谢谢。这很清楚,为什么不把它写成 '$ someDate = $ someYear。 ' - '。 $ someMonth。 ' - '。'01';' '-01'使我感到困惑,少于1个月或一天等 – PeanutsMonkey 2011-05-04 23:05:48
@PananutsMonkey,是的,这是一个快速和肮脏的方法。最好是明确你的格式,因为'strtotime'会猜测(当你没有指定日期编号时它是这样做的),但它可能会让你感到困惑。 – 2011-05-04 23:11:34
一天设置为在本月第一,也就是说,如果$ someYear是“1999年”和$ someMonth是“01”,这将产生
strtotime("1999-01-01");
谢谢。类似于我从“从那里”问到的问题,为什么在排除它时得到相同的结果时指定它? – PeanutsMonkey 2011-05-04 23:07:33
@PananutsMonkey - 你可以用多种形式写日期,即strtotime(“1999年1月的第一天”)也是有效的。看看更多的例子手册http://php.net/manual/en/function.strtotime.php – fredrik 2011-05-04 23:18:02
参见:[日期和时间格式由'的strtotime所理解','date_create'和DateTime对象构造函数](http://us2.php.net/manual/en/datetime.formats.php)。 – Charles 2011-05-04 22:55:13
清洁方法是'mktime(0,0,0,$ someMonth,1,$ someYear);' – 2011-05-04 22:56:14
@Frank Farmer - 谢谢。为什么这被认为更清洁? – PeanutsMonkey 2011-05-04 23:03:16