Php 如何返回特定unix时间戳的一个月开始时的unix时间戳
我需要一个通用函数,它接受一个日期时间的unix时间戳表示形式,并返回一个表示形式,例如,每月第一天的午夜Php 如何返回特定unix时间戳的一个月开始时的unix时间戳,php,unix,unix-timestamp,Php,Unix,Unix Timestamp,我需要一个通用函数,它接受一个日期时间的unix时间戳表示形式,并返回一个表示形式,例如,每月第一天的午夜 i、 e.我通过表示现在(2012年11月8日星期四12:01:33 GMT)的1352376093,并返回表示现在(2012年11月1日星期四00:00 GMT)的1351728000。此代码片段应该可以帮助您解决问题。只需从现有日期开始计算月份和年份,并将其转换回时间戳即可 <?php $time = 1352376093; $date = date('Y-m
i、 e.我通过表示现在(2012年11月8日星期四12:01:33 GMT)的
1352376093
,并返回表示现在(2012年11月1日星期四00:00 GMT)的1351728000
。此代码片段应该可以帮助您解决问题。只需从现有日期开始计算月份和年份,并将其转换回时间戳即可
<?php
$time = 1352376093;
$date = date('Y-m-01 00:00:00', $time);
$result = strtotime($date);
因此,使用此函数结束:
$earliest_issue = db_result( $result, 0 );
$day_of_month_of_earliest_issue = date("d", $earliest_issue);
$hour_of_month_of_earliest_issue = date("h", $earliest_issue);
$minute_of_month_of_earliest_issue = date("i", $earliest_issue);
$seconds_in_month = date("s", $earliest_issue);
$seconds_in_day_of_month = (($day_of_month_of_earliest_issue*24*60*60)-86400);
$seconds_in_hour_of_month = (($hour_of_month_of_earliest_issue*60*60)-3600);
$seconds_in_minute_of_month = (($minute_of_month_of_earliest_issue*60));
$start_time_of_query = ($earliest_issue - $seconds_in_day_of_month - $seconds_in_hour_of_month - $seconds_in_minute_of_month - $seconds_in_month);
return $start_time_of_query;
其中,$earlish\u issue
是开始日期
如果有人读到这篇文章,有一个更优雅的功能,如我所希望的,那么请贡献,谢谢