本月的第一天在php中使用date_modify作为DateTime对象

我可以在本周一得到:

$monday = date_create()->modify('this Monday'); 

我想在本月1日得到同样的缓解。 我怎样才能做到这一点?

谢谢

9 Solutions collect form web for “本月的第一天在php中使用date_modify作为DateTime对象”

需要PHP 5.3才能工作(在PHP 5.3中引入“第一天”)。 否则上面的例子是唯一的方法来做到这一点:

 <?php // First day of this month $d = new DateTime('first day of this month'); echo $d->format('jS, F Y'); // First day of a specific month $d = new DateTime('2010-01-19'); $d->modify('first day of this month'); echo $d->format('jS, F Y'); // alternatively... echo date_create('2010-01-19') ->modify('first day of this month') ->format('jS, F Y'); 

在PHP 5.4中,你可以这样做:

 <?php // First day of this month echo (new DateTime('first day of this month'))->format('jS, F Y'); echo (new DateTime('2010-01-19')) ->modify('first day of this month') ->format('jS, F Y'); 

如果你喜欢简洁的方式来做到这一点,并已经有了数值的年份和月份,你可以使用date()

 <?php echo date('Ym-01'); // first day of this month echo date("$year-$month-01"); // first day of a month chosen by you 

这是我使用的。

本月的第一天:

 date('Ym-01'); 

月份的最后一天:

 date('Ym-t'); 

这是你需要的一切:

 $week_start = strtotime('last Sunday', time()); $week_end = strtotime('next Sunday', time()); $month_start = strtotime('first day of this month', time()); $month_end = strtotime('last day of this month', time()); $year_start = strtotime('first day of January', time()); $year_end = strtotime('last day of December', time()); echo date('D, M jS Y', $week_start).'<br/>'; echo date('D, M jS Y', $week_end).'<br/>'; echo date('D, M jS Y', $month_start).'<br/>'; echo date('D, M jS Y', $month_end).'<br/>'; echo date('D, M jS Y', $year_start).'<br/>'; echo date('D, M jS Y', $year_end).'<br/>'; 

目前我正在使用这个解决scheme:

 $firstDay = new \DateTime('first day of this month'); $lastDay = new \DateTime('last day of this month'); 

我遇到的唯一问题是正在设定奇怪的时间。 我需要正确的范围为我们的search界面,我结束了这个:

 $firstDay = new \DateTime('first day of this month 00:00:00'); $lastDay = new \DateTime('first day of next month 00:00:00'); 

我用一个疯狂的方式来做到这一点是使用这个命令

 $firstDay=date('Ym-d',strtotime("first day of this month")); $lastDay=date('Ym-d',strtotime("last day of this month")); 

就这样

在PHP 5.2中,您可以使用:

 <? $d = date_create(); print date_create($d->format('Ym-1'))->format('Ym-d') ?> 

丑,(并不使用上面的方法调用),但工程:

 echo 'First day of the month: ' . date('m/d/yh:i a',(strtotime('this month',strtotime(date('m/01/y'))))); 

你可以这样做:

 $firstday = date_create()->modify('first day January 2010'); 

使用date方法,我们应该可以得到结果。 即; date('N / D / l',mktime(0,0,0,month,day,year));

例如

 echo date('N', mktime(0, 0, 0, 7, 1, 2017)); // will return 6 echo date('D', mktime(0, 0, 0, 7, 1, 2017)); // will return Sat echo date('l', mktime(0, 0, 0, 7, 1, 2017)); // will return Saturday 
  • 用PHP将数组插入MySQL数据库
  • PHP exec()作为后台进程(Windows Wampserver环境)
  • Laravel 5 - 清除共享主机服务器中的caching
  • PHP - SSL证书错误:无法获取本地颁发者证书
  • PHP关键字“var”做什么?
  • 在PHP和Javascript之间传输数组的最佳方法
  • PHP中的or运算符的行为
  • 是否有一个JavaScript中的var_dump(PHP)等价物?
  • 用PHP删除.php扩展名
  • 删除括号之间的文本PHP
  • 用于将所有表和字段更改为MYSQL中的utf-8-bin归类的脚本