Automattic\WooCommerce\Admin\API\Reports
TimeInterval::next_month_start
Returns a new DateTime object representing the next month start, or previous month end if reversed.
Method of the class: TimeInterval{}
No Hooks.
Returns
DateTime.
Usage
$result = TimeInterval::next_month_start( $datetime, $reversed );
- $datetime(DateTime) (required)
- Date and time.
- $reversed(true|false)
- Going backwards in time instead of forward.
Default: false
TimeInterval::next_month_start() TimeInterval::next month start code WC 10.3.5
public static function next_month_start( $datetime, $reversed = false ) {
$month_increment = 1;
$year = $datetime->format( 'Y' );
$month = (int) $datetime->format( 'm' );
if ( $reversed ) {
$beg_of_month_datetime = new \DateTime( "$year-$month-01 00:00:00", new \DateTimeZone( wc_timezone_string() ) );
$timestamp = (int) $beg_of_month_datetime->format( 'U' );
$end_of_prev_month_timestamp = $timestamp - 1;
$datetime->setTimestamp( $end_of_prev_month_timestamp );
} else {
$month += $month_increment;
if ( $month > 12 ) {
$month = 1;
$year ++;
}
$day = '01';
$datetime = new \DateTime( "$year-$month-$day 00:00:00", new \DateTimeZone( wc_timezone_string() ) );
}
return $datetime;
}