Index: src/bp-activity/bp-activity-admin.php
===================================================================
--- src/bp-activity/bp-activity-admin.php
+++ src/bp-activity/bp-activity-admin.php
@@ -763,7 +763,7 @@
 					<?php
 					// Translators: Publish box date format, see http://php.net/date.
 					$datef = __( 'M j, Y @ G:i', 'buddypress' );
-					$date  = date_i18n( $datef, strtotime( $item->date_recorded ) );
+					$date  = date_i18n( $datef, mysql2date( 'G', $item->date_recorded ) );
 					?>
 					<span id="timestamp"><?php printf( __( 'Submitted on: %s', 'buddypress' ), '<strong>' . $date . '</strong>' ); ?></span>&nbsp;<a href="#edit_timestamp" class="edit-timestamp hide-if-no-js" tabindex='4'><?php _e( 'Edit', 'buddypress' ); ?></a>
 
Index: src/bp-activity/bp-activity-filters.php
===================================================================
--- src/bp-activity/bp-activity-filters.php
+++ src/bp-activity/bp-activity-filters.php
@@ -546,7 +546,7 @@
 		return $classes;
 	}
 
-	$classes .= ' date-recorded-' . strtotime( $activity_date );
+	$classes .= ' date-recorded-' . mysql2date( 'G', $activity_date );
 
 	return $classes;
 }
@@ -589,7 +589,7 @@
 		while ( bp_activities() ) {
 			bp_the_activity();
 
-			$atime = strtotime( bp_get_activity_date_recorded() );
+			$atime = mysql2date( 'G', bp_get_activity_date_recorded() );
 			if ( $last_activity_recorded < $atime ) {
 				$last_activity_recorded = $atime;
 			}
Index: src/bp-activity/classes/class-bp-activity-activity.php
===================================================================
--- src/bp-activity/classes/class-bp-activity-activity.php
+++ src/bp-activity/classes/class-bp-activity-activity.php
@@ -1765,7 +1765,7 @@
 		if ( ! empty( $filter_array['since'] ) ) {
 			// Validate that this is a proper Y-m-d H:i:s date.
 			// Trick: parse to UNIX date then translate back.
-			$translated_date = date( 'Y-m-d H:i:s', strtotime( $filter_array['since'] ) );
+			$translated_date = date( 'Y-m-d H:i:s', mysql2date( 'G', $filter_array['since'] ) );
 			if ( $translated_date === $filter_array['since'] ) {
 				$filter_sql[] = "a.date_recorded > '{$translated_date}'";
 			}
Index: src/bp-activity/classes/class-bp-activity-feed.php
===================================================================
--- src/bp-activity/classes/class-bp-activity-feed.php
+++ src/bp-activity/classes/class-bp-activity-feed.php
@@ -334,7 +334,7 @@
 
 		// Cache-related variables.
 		$last_modified      = mysql2date( 'D, d M Y H:i:s O', bp_activity_get_last_updated(), false );
-		$modified_timestamp = strtotime( $last_modified );
+		$modified_timestamp = mysql2date( 'G', $last_modified );
 		$etag               = md5( $last_modified );
 
 		// Set cache-related headers.
@@ -365,7 +365,7 @@
 
 		// Get client last modified timestamp from supported user agents.
 		$client_last_modified      = empty( $_SERVER['HTTP_IF_MODIFIED_SINCE'] ) ? '' : trim( $_SERVER['HTTP_IF_MODIFIED_SINCE'] );
-		$client_modified_timestamp = $client_last_modified ? strtotime( $client_last_modified ) : 0;
+		$client_modified_timestamp = $client_last_modified ? mysql2date( 'G', $client_last_modified ) : 0;
 
 		// Set 304 status if feed hasn't been updated since last fetch.
 		if ( ( $client_last_modified && $client_etag ) ?
Index: src/bp-activity/classes/class-bp-activity-list-table.php
===================================================================
--- src/bp-activity/classes/class-bp-activity-list-table.php
+++ src/bp-activity/classes/class-bp-activity-list-table.php
@@ -630,7 +630,7 @@
 				sprintf(
 					/* translators: 1: activity date, 2: activity time */
 					__( '%1$s at %2$s', 'buddypress' ),
-					date_i18n( bp_get_option( 'date_format' ), strtotime( $item['date_recorded'] ) ),
+					date_i18n( bp_get_option( 'date_format' ), mysql2date( 'G', $item['date_recorded'] ) ),
 					get_date_from_gmt( $item['date_recorded'], bp_get_option( 'time_format' ) )
 				)
 			)
Index: src/bp-activity/classes/class-bp-activity-oembed-extension.php
===================================================================
--- src/bp-activity/classes/class-bp-activity-oembed-extension.php
+++ src/bp-activity/classes/class-bp-activity-oembed-extension.php
@@ -155,7 +155,7 @@
 	protected function set_fallback_html( $item_id ) {
 		$activity    = new BP_Activity_Activity( $item_id );
 		$mentionname = bp_activity_do_mentions() ? ' (@' . bp_activity_get_user_mentionname( $activity->user_id ) . ')' : '';
-		$date        = date_i18n( get_option( 'date_format' ), strtotime( $activity->date_recorded ) );
+		$date        = date_i18n( get_option( 'date_format' ), mysql2date( 'G', $activity->date_recorded ) );
 
 		// Make sure we can use some activity functions that depend on the loop.
 		$GLOBALS['activities_template'] = new stdClass;
Index: src/bp-blogs/bp-blogs-activity.php
===================================================================
--- src/bp-blogs/bp-blogs-activity.php
+++ src/bp-blogs/bp-blogs-activity.php
@@ -596,7 +596,7 @@
 			return $open;
 		*/
 
-		if ( time() - strtotime( $activity->date_recorded ) > ( $days_old * DAY_IN_SECONDS ) ) {
+		if ( time() - mysql2date( 'G', $activity->date_recorded ) > ( $days_old * DAY_IN_SECONDS ) ) {
 			return false;
 		}
 
Index: src/bp-blogs/bp-blogs-functions.php
===================================================================
--- src/bp-blogs/bp-blogs-functions.php
+++ src/bp-blogs/bp-blogs-functions.php
@@ -190,7 +190,7 @@
 		}
 
 		// Update blog last activity timestamp
-		if ( ! empty( $blog->last_updated ) && false !== strtotime( $blog->last_updated ) ) {
+		if ( ! empty( $blog->last_updated ) && false !== mysql2date( 'G', $blog->last_updated ) ) {
 			bp_blogs_update_blogmeta( $blog->blog_id, 'last_activity', $blog->last_updated );
 		}
 	}
Index: src/bp-core/bp-core-functions.php
===================================================================
--- src/bp-core/bp-core-functions.php
+++ src/bp-core/bp-core-functions.php
@@ -1438,7 +1438,7 @@
 
 	// Make sure it's numeric.
 	if ( ! is_numeric( $activity ) ) {
-		$activity = strtotime( $activity );
+		$activity = mysql2date( 'G', $activity );
 	}
 
 	// Get current time.
Index: src/bp-friends/classes/class-bp-friends-friendship.php
===================================================================
--- src/bp-friends/classes/class-bp-friends-friendship.php
+++ src/bp-friends/classes/class-bp-friends-friendship.php
@@ -447,7 +447,7 @@
 				return 0;
 			}
 
-			return ( strtotime( $a["date_recorded"] ) < strtotime( $b["date_recorded"] ) ) ? 1 : -1;
+			return ( mysql2date( "G", $a["date_recorded"] ) < mysql2date( "G", $b["date_recorded"] ) ) ? 1 : -1;
 		' ) );
 
 		$retval = array();
Index: src/bp-groups/bp-groups-activity.php
===================================================================
--- src/bp-groups/bp-groups-activity.php
+++ src/bp-groups/bp-groups-activity.php
@@ -565,7 +565,7 @@
 	$membership = new BP_Groups_Member( $user_id, $group_id );
 
 	// Check the time period, and maybe delete their recent group activity.
-	if ( time() <= strtotime( '+5 minutes', (int) strtotime( $membership->date_modified ) ) ) {
+	if ( time() <= strtotime( '+5 minutes', (int) mysql2date( 'G', $membership->date_modified ) ) ) {
 		bp_activity_delete( array(
 			'component' => buddypress()->groups->id,
 			'type'      => 'joined_group',
Index: src/bp-groups/bp-groups-template.php
===================================================================
--- src/bp-groups/bp-groups-template.php
+++ src/bp-groups/bp-groups-template.php
@@ -2219,7 +2219,7 @@
 
 				<h5><?php echo bp_core_get_userlink( $admin->user_id ) ?></h5>
 				<span class="activity">
-					<?php echo bp_core_get_last_activity( strtotime( $admin->date_modified ), __( 'joined %s', 'buddypress') ); ?>
+					<?php echo bp_core_get_last_activity( mysql2date( 'G', $admin->date_modified ), __( 'joined %s', 'buddypress') ); ?>
 				</span>
 
 				<?php if ( bp_is_active( 'friends' ) ) : ?>
@@ -2295,7 +2295,7 @@
 
 				<h5><?php echo bp_core_get_userlink( $mod->user_id ) ?></h5>
 
-				<span class="activity"><?php echo bp_core_get_last_activity( strtotime( $mod->date_modified ), __( 'joined %s', 'buddypress') ); ?></span>
+				<span class="activity"><?php echo bp_core_get_last_activity( mysql2date( 'G', $mod->date_modified ), __( 'joined %s', 'buddypress') ); ?></span>
 
 				<?php if ( bp_is_active( 'friends' ) ) : ?>
 
Index: src/bp-members/bp-members-template.php
===================================================================
--- src/bp-members/bp-members-template.php
+++ src/bp-members/bp-members-template.php
@@ -611,7 +611,7 @@
 
 			// Calculate some times.
 			$current_time  = bp_core_current_time( true, 'timestamp' );
-			$last_activity = strtotime( $members_template->member->last_activity );
+			$last_activity = mysql2date( 'G', $members_template->member->last_activity );
 			$still_online  = strtotime( '+5 minutes', $last_activity );
 
 			// Has the user been active recently?
Index: src/bp-members/classes/class-bp-members-admin.php
===================================================================
--- src/bp-members/classes/class-bp-members-admin.php
+++ src/bp-members/classes/class-bp-members-admin.php
@@ -1003,7 +1003,7 @@
 
 						// Translators: Publish box date format, see http://php.net/date.
 						$datef = __( 'M j, Y @ G:i', 'buddypress' );
-						$date  = date_i18n( $datef, strtotime( $user->user_registered ) );
+						$date  = date_i18n( $datef, mysql2date( 'G', $user->user_registered ) );
 						?>
 						<span id="timestamp"><?php printf( __( 'Registered on: %s', 'buddypress' ), '<strong>' . $date . '</strong>' ); ?></span>
 					</div>
@@ -1063,7 +1063,7 @@
 		}
 
 		$datef = __( 'M j, Y @ G:i', 'buddypress' );
-		$date  = date_i18n( $datef, strtotime( $last_active ) ); ?>
+		$date  = date_i18n( $datef, mysql2date( 'G', $last_active ) ); ?>
 
 		<ul>
 			<li class="bp-members-profile-stats"><?php printf( __( 'Last active: %1$s', 'buddypress' ), '<strong>' . $date . '</strong>' ); ?></li>
Index: src/bp-messages/bp-messages-template.php
===================================================================
--- src/bp-messages/bp-messages-template.php
+++ src/bp-messages/bp-messages-template.php
@@ -632,7 +632,7 @@
 		 *
 		 * @param string $value Formatted date of the last post in the current thread.
 		 */
-		return apply_filters( 'bp_get_message_thread_last_post_date', bp_format_time( strtotime( bp_get_message_thread_last_post_date_raw() ) ) );
+		return apply_filters( 'bp_get_message_thread_last_post_date', bp_format_time( mysql2date( 'G', bp_get_message_thread_last_post_date_raw() ) ) );
 	}
 
 /**
@@ -1081,7 +1081,7 @@
 		 *
 		 * @param string $value Formatted post date of the current notice in the loop.
 		 */
-		return apply_filters( 'bp_get_message_notice_post_date', bp_format_time( strtotime( $messages_template->thread->date_sent ) ) );
+		return apply_filters( 'bp_get_message_notice_post_date', bp_format_time( mysql2date( 'G', $messages_template->thread->date_sent ) ) );
 	}
 
 /**
@@ -1968,7 +1968,7 @@
 		 *
 		 * @param string $value Timestamp of the date sent value for the current message.
 		 */
-		return apply_filters( 'bp_get_the_thread_message_date_sent', strtotime( $thread_template->message->date_sent ) );
+		return apply_filters( 'bp_get_the_thread_message_date_sent', mysql2date( 'G', $thread_template->message->date_sent ) );
 	}
 
 /**
Index: src/bp-messages/classes/class-bp-messages-thread.php
===================================================================
--- src/bp-messages/classes/class-bp-messages-thread.php
+++ src/bp-messages/classes/class-bp-messages-thread.php
@@ -518,7 +518,7 @@
 
 		// Sort threads by date_sent.
 		foreach( (array) $thread_ids as $thread ) {
-			$sorted_threads[ $thread->thread_id ] = strtotime( $thread->date_sent );
+			$sorted_threads[ $thread->thread_id ] = mysql2date( 'G', $thread->date_sent );
 		}
 
 		arsort( $sorted_threads );
Index: src/bp-templates/bp-legacy/buddypress/assets/embeds/header-activity.php
===================================================================
--- src/bp-templates/bp-legacy/buddypress/assets/embeds/header-activity.php
+++ src/bp-templates/bp-legacy/buddypress/assets/embeds/header-activity.php
@@ -21,6 +21,6 @@
 					<span class="bp-embed-mentionname">@<?php bp_displayed_user_mentionname(); ?> &middot; </span>
 				<?php endif; ?>
 
-				<span class="bp-embed-timestamp"><a href="<?php bp_activity_thread_permalink(); ?>"><?php echo date_i18n( get_option( 'time_format' ) . ' - ' . get_option( 'date_format' ), strtotime( bp_get_activity_date_recorded() ) ); ?></a></span>
+				<span class="bp-embed-timestamp"><a href="<?php bp_activity_thread_permalink(); ?>"><?php echo date_i18n( get_option( 'time_format' ) . ' - ' . get_option( 'date_format' ), mysql2date( 'G', bp_get_activity_date_recorded() ) ); ?></a></span>
 			</p>
 		</div>
Index: src/bp-xprofile/bp-xprofile-activity.php
===================================================================
--- src/bp-xprofile/bp-xprofile-activity.php
+++ src/bp-xprofile/bp-xprofile-activity.php
@@ -306,7 +306,7 @@
 		 * @param int $value Throttle time, in seconds.
 		 */
 		$throttle_period = apply_filters( 'bp_xprofile_updated_profile_activity_throttle_time', HOUR_IN_SECONDS * 2 );
-		$then            = strtotime( $existing['activities'][0]->date_recorded );
+		$then            = mysql2date( 'G', $existing['activities'][0]->date_recorded );
 		$now             = bp_core_current_time( true, 'timestamp' );
 
 		// Bail if throttled.
