EventStartDate) && is_object( $event ) ) $event->EventStartDate = tribe_get_event_meta( $event->ID, '_EventStartDate', true ); if( isset($event->EventStartDate) ){ $date = strtotime( $event->EventStartDate ); }else{ return; } return tribe_event_format_date($date, $displayTime, $dateFormat ); } /** * End Date * * Returns the event end date * * @param int $event (optional) * @param bool $displayTime If true shows date and time, if false only shows date * @param string $dateFormat Allows date and time formating using standard php syntax (http://php.net/manual/en/function.date.php) * @return string Date */ function tribe_get_end_date( $event = null, $displayTime = true, $dateFormat = '' ) { if( is_null( $event ) ) { global $post; $event = $post; } if( is_numeric( $event ) ) { $event = get_post( $event ); } if( tribe_event_is_all_day( $event ) ) { $displayTime = false; } if( empty($event->EventEndDate) && is_object( $event ) ) { $event->EventEndDate = tribe_get_event_meta( $event->ID, '_EventEndDate', true ); } if( isset($event->EventEndDate) ){ if ( tribe_event_is_all_day( $event ) && empty( $event->_end_date_fixed ) && TribeDateUtils::timeOnly( $event->EventEndDate ) != '23:59:59' && TribeDateUtils::timeOnly( tribe_event_end_of_day() ) != '23:59' ) { // set the event end date to be one day earlier, if it's an all day event and the cutoff is past midnight // @todo remove this once we can have all day events without a start / end time $event->EventEndDate = date_create( $event->EventEndDate ); $event->EventEndDate->modify( '-1 day' ); $event->EventEndDate = $event->EventEndDate->format( TribeDateUtils::DBDATEFORMAT ); $event->_end_date_fixed = true; } $date = strtotime( $event->EventEndDate ); } else{ return; } return tribe_event_format_date( $date, $displayTime, $dateFormat ); } /** * Formatted Date * * Returns formatted date * * @param string $date * @param bool $displayTime If true shows date and time, if false only shows date * @param string $dateFormat Allows date and time formating using standard php syntax (http://php.net/manual/en/function.date.php) * @return string */ function tribe_event_format_date($date, $displayTime = true, $dateFormat = '') { if ( ! TribeDateUtils::isTimestamp( $date ) ) { $date = strtotime( $date ); } if ( $dateFormat ) { $format = $dateFormat; } else { $date_year = date( 'Y', $date ); $cur_year = date( 'Y', current_time( 'timestamp' ) ); // only show the year in the date if it's not in the current year $with_year = $date_year == $cur_year ? false : true; if ( $displayTime ) { $format = tribe_get_datetime_format( $with_year ); } else { $format = tribe_get_date_format( $with_year ); } } $date = date_i18n( $format, $date ); return apply_filters( 'tribe_event_formatted_date', $date, $displayTime, $dateFormat ); } /** * Returns formatted date for the official beginning of the day according to the Multi-day cutoff time option * * @param string $date The date to find the beginning of the day, defaults to today * @param string $format Allows date and time formating using standard php syntax (http://php.net/manual/en/function.date.php) * @return string */ function tribe_event_beginning_of_day( $date = null, $format = 'Y-m-d H:i:s' ){ $multiday_cutoff = explode( ':', tribe_get_option( 'multiDayCutoff', '00:00' ) ); $hours_to_add = $multiday_cutoff[0]; $minutes_to_add = $multiday_cutoff[1]; if( is_null($date) || empty($date) ) { return apply_filters( 'tribe_event_beginning_of_day', Date($format, strtotime( date( 'Y-m-d' ) . ' +' . $hours_to_add . ' hours ' . $minutes_to_add . ' minutes' ) ) ); } else { return apply_filters( 'tribe_event_beginning_of_day', Date($format, strtotime( date( 'Y-m-d', strtotime($date) ) . ' +' . $hours_to_add . ' hours ' . $minutes_to_add . ' minutes' ) ) ); } } /** * Returns formatted date for the official end of the day according to the Multi-day cutoff time option * * @param string $date The date to find the end of the day, defaults to today * @param string $format Allows date and time formating using standard php syntax (http://php.net/manual/en/function.date.php) * @return string */ function tribe_event_end_of_day( $date = null, $format = 'Y-m-d H:i:s' ){ $multiday_cutoff = explode( ':', tribe_get_option( 'multiDayCutoff', '00:00' ) ); $hours_to_add = $multiday_cutoff[0]; $minutes_to_add = $multiday_cutoff[1]; if( is_null($date) || empty($date) ) { return apply_filters( 'tribe_event_end_of_day', Date($format, strtotime('tomorrow ' . ' +' . $hours_to_add . ' hours ' . $minutes_to_add . ' minutes' ) - 1 ) ); } else { return apply_filters( 'tribe_event_end_of_day', Date($format, strtotime( date( 'Y-m-d', strtotime($date) ) . ' +1 day ' . $hours_to_add . ' hours ' . $minutes_to_add . ' minutes' ) - 1 ) ); } } } ?>