getTimestamp() + current_datetime()->getOffset(); } else { $current_time = current_time( 'timestamp' ); } $start = ''; $end = gmdate( 'Y-m-d 23:59:59', $current_time ); switch ( $period ) { case 'today': $start = gmdate( 'Y-m-d 00:00:00', $current_time ); break; case 'yesterday': $start = gmdate( 'Y-m-d 00:00:00', strtotime( '-1 day', $current_time ) ); $end = gmdate( 'Y-m-d 23:59:59', strtotime( '-1 day', $current_time ) ); break; case 'last_7_days': $start = gmdate( 'Y-m-d 00:00:00', strtotime( '-7 days', $current_time ) ); break; case 'last_30_days': $start = gmdate( 'Y-m-d 00:00:00', strtotime( '-30 days', $current_time ) ); break; case 'this_month': $start = gmdate( 'Y-m-01 00:00:00', $current_time ); break; case 'last_month': $start = gmdate( 'Y-m-01 00:00:00', strtotime( 'first day of last month', $current_time ) ); $end = gmdate( 'Y-m-t 23:59:59', strtotime( 'last day of last month', $current_time ) ); break; case 'this_year': $start = gmdate( 'Y-01-01 00:00:00', $current_time ); break; case 'last_year': $start = gmdate( 'Y-01-01 00:00:00', strtotime( '-1 year', $current_time ) ); $end = gmdate( 'Y-12-31 23:59:59', strtotime( '-1 year', $current_time ) ); break; case 'last_12_months': $start = gmdate( 'Y-m-d 00:00:00', strtotime( '-12 months', $current_time ) ); break; case 'all_time': $start = '1970-01-01 00:00:00'; break; case 'custom': if ( ! empty( $custom_start ) ) { $start = gmdate( 'Y-m-d 00:00:00', strtotime( $custom_start ) ); } else { $start = '1970-01-01 00:00:00'; } if ( ! empty( $custom_end ) ) { $end = gmdate( 'Y-m-d 23:59:59', strtotime( $custom_end ) ); } break; default: $start = '1970-01-01 00:00:00'; break; } return array( 'start' => $start, 'end' => $end, ); } }