Skip to content

Instantly share code, notes, and snippets.

@KarelWintersky
Created October 11, 2015 22:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KarelWintersky/d82a703ca6a2ba8e4b13 to your computer and use it in GitHub Desktop.
Save KarelWintersky/d82a703ca6a2ba8e4b13 to your computer and use it in GitHub Desktop.
KW: Date functions
<?php
/**
* конвертирует дату из человекопонятного представления в метку времени, для создания метки времени берется полдень указанной даты
* @param $str_date
* @param string $format
* @return int
*/
function convertDateToTimestamp($str_date, $format = "d.m.Y")
{
if (function_exists('date_parse_from_format')) {
$date_array = date_parse_from_format($format, $str_date);
} else {
if (function_exists('date_parse')) {
$date_array = date_parse($str_date);
} else {
// date_parse not implemented
$date_array_pre = getdate(strtotime($str_date));
$date_array['month'] = $date_array_pre['mon'];
$date_array['day'] = $date_array_pre['mday'];
$date_array['year'] = $date_array_pre['year'];
}
}
return mktime(12, 0, 0, $date_array['month'], $date_array['day'], $date_array['year']);
}
/**
* конвертирует дату из человекопонятного представления в массив
* @param $str_date
* @return array
*/
function convertDateToArray($str_date)
{
if (function_exists('date_parse_from_format')) {
$date_array = date_parse_from_format('d.m.Y', $str_date);
} else {
if (function_exists('date_parse')) {
$date_array = date_parse($str_date);
} else {
// date_parse not implemented
$date_array_pre = getdate(strtotime($str_date));
$date_array['month'] = $date_array_pre['mon'];
$date_array['day'] = $date_array_pre['mday'];
$date_array['year'] = $date_array_pre['year'];
$date_array['hour'] = 12;
$date_array['minute'] = 0;
$date_array['second'] = 0;
}
}
return $date_array;
}
/**
* конвертирует "человекопонятную" дату в MYSQL-формат
* @param $string
*/
function convertUserDateToSQLDate($string)
{
Date('Y-m-d', ConvertDateToTimestamp($string));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment