
Simple php function for converting datetime format to Time Ago format in php
Create a function get_timeago()
function get_timeago($time) { // Calculate difference between current // time and given timestamp in seconds $curtim=date_timestamp_get(date_create(date('Y-m-d H:i:s'))); $diff = $curtim - strtotime($time); // Time difference in seconds $sec = $diff; // Convert time difference in minutes $min = round($diff / 60 ); // Convert time difference in hours $hrs = round($diff / 3600); // Convert time difference in days $days = round($diff / 86400 ); // Convert time difference in weeks $weeks = round($diff / 604800); // Convert time difference in months $mnths = round($diff / 2600640 ); // Convert time difference in years $yrs = round($diff / 31207680 ); // Check for seconds if($sec <= 60) { return "$sec seconds ago"; } // Check for minutes else if($min <= 60) { if($min==1) { return "one minute ago"; } else { return "$min minutes ago"; } } // Check for hours else if($hrs <= 24) { if($hrs == 1) { return "an hour ago"; } else { return "$hrs hours ago"; } } // Check for days else if($days <= 7) { if($days == 1) { return "Yesterday"; } else { return "$days days ago"; } } // Check for weeks else if($weeks <= 4.3) { if($weeks == 1) { return "a week ago"; } else { return "$weeks weeks ago"; } } // Check for months else if($mnths <= 12) { if($mnths == 1) { return "a month ago"; } else { return "$mnths months ago"; } } // Check for years else { if($yrs == 1) { return "one year ago"; } else { return "$yrs years ago"; } } }
}
Then call function like this
echo get_timeago('2021-07-01 17:05:25');