public function testIsTimestamp() { $this->assertFalse(is_timestamp('bla')); $this->assertFalse(is_timestamp(0)); $this->assertFalse(is_timestamp(17)); $this->assertTrue(is_timestamp((string) time())); }
function time_passed($timestamp) { //type cast, current time, difference in timestamps //date_default_timezone_set('Asia/Calcutta'); if (is_timestamp($timestamp)) { $timestamp = $timestamp; } else { $timestamp = strtotime($timestamp); } //$timestamp = strtotime($timestamp); $current_time = time(); $diff = $current_time - $timestamp; //echo "$current_time - $timestamp";die; //intervals in seconds $intervals = array('year' => 31556926, 'month' => 2629744, 'week' => 604800, 'day' => 86400, 'hour' => 3600, 'minute' => 60); //now we just find the difference if ($diff == 0) { return 'just now'; } if ($diff < 60) { return $diff == 1 ? $diff . ' second ago' : $diff . ' seconds ago'; } if ($diff >= 60 && $diff < $intervals['hour']) { $diff = floor($diff / $intervals['minute']); return $diff == 1 ? $diff . ' minute ago' : $diff . ' minutes ago'; } if ($diff >= $intervals['hour'] && $diff < $intervals['day']) { $diff = floor($diff / $intervals['hour']); return $diff == 1 ? $diff . ' hour ago' : $diff . ' hours ago'; } if ($diff >= $intervals['day'] && $diff < $intervals['week']) { $diff = floor($diff / $intervals['day']); return $diff == 1 ? $diff . ' day ago' : $diff . ' days ago'; } if ($diff >= $intervals['week'] && $diff < $intervals['month']) { $diff = floor($diff / $intervals['week']); return $diff == 1 ? $diff . ' week ago' : $diff . ' weeks ago'; } if ($diff >= $intervals['month'] && $diff < $intervals['year']) { $diff = floor($diff / $intervals['month']); return $diff == 1 ? $diff . ' month ago' : $diff . ' months ago'; } if ($diff >= $intervals['year']) { $diff = floor($diff / $intervals['year']); return $diff == 1 ? $diff . ' year ago' : $diff . ' years ago'; } }
function is_today($test) { $time = is_timestamp($test) ? strtotime($test) : $test; if (date('Ymd') === date('Ymd', (int) $time)) { return TRUE; } return FALSE; }
/** * * @param int|string $a_timestamp * @param string $pattern According to http://php.net/manual/en/function.strftime.php * @throws GenericException * @return string */ public function format_date($a_timestamp, $pattern = null) { if (!is_timestamp($a_timestamp)) { throw new GenericException('Invalid Timestamp', 500); } if (isset($this->locale_entries[$pattern])) { $pattern = $this->locale_entries[$pattern]; } return strftime($pattern, strtotime($a_timestamp)); }
/** * Fetch all fields' names and values * * @param string $field * Field name * @param mixed $value * Field value */ protected final function _set_field($field, $value) { if ($this->field_loaded == 0) { $this->_load(); } if (is_timestamp($value) && !is_numeric($value)) { $datetime = new DateTime('now'); $time = strtotime($value); $time -= $datetime->getOffset(); $value = date("Y-m-d H:i:s", $time); } $this->database_fields[$field] = $value; $this->modified = 1; $this->modified_fields[$field] = true; }