Date в MySQL
function sql_to_date ($s) {
return preg_match('/^(\d+)-(\d+)-(\d+)/', $s, $m) ? $m[3].'.'.$m[2].'.'.$m[1] : '';
}
function date_to_sql ($s) {
return preg_match('/^(\d{1,2})\.(\d{1,2})\.(\d{1,4})$/', $s, $m) && checkdate($m[2], $m[1], $m[3] )
? $m[3].'-'.$m[2].'-'.$m[1] : false;
}
Когда забираешь с поля date делаешь 1, когда вставляешь делаешь 2
брррр:( Ну не настолько же вкратце:)
я написал как это с пхп
ладно... попробую сам разобраться. Вроде что-то проясняется:) Пасиб:)
А вот мб еще пригодятся
function string_is_date($s) {
return preg_match('/^(\d{1,2})\.(\d{1,2})\.(\d{1,4})$/', $s, $m) && checkdate($m[2], $m[1], $m[3]) ? true : false;
}
function string_is_time($s) {
return preg_match('/^([0-1]?\d|2[0-3]):([0-5]?\d:([0-5]?\d?$/', $s) ? true : false;
}
function string_is_datetime($s) {
return preg_match('/^(\d{1,2})\.(\d{1,2})\.(\d{1,4})\s+([0-1]?\d|2[0-3]):([0-5]?\d:([0-5]?\d?$/', $s, $m) &&
checkdate($m[2], $m[1], $m[3]) ? true : false;
}
function sql_to_date ($s) {
return preg_match('/^(\d+)-(\d+)-(\d+)/', $s, $m) ? $m[3].'.'.$m[2].'.'.$m[1] : '';
}
function sql_to_datestr ($s) {
return preg_match('/^(\d+)-(\d+)-(\d+)/', $s, $m) ? $m[3].' '.get_month_name($m[2]).' '.$m[1] : '';
}
function sql_to_time ($s, $withSeconds = true) {
return preg_match('/(\d+):(\d+):(\d+)/', $s, $m) ? $m[1].':'.$m[2].($withSeconds ? ':'.$m[3] : '') : '';
}
function sql_to_datetime ($s) {
return preg_match('/^(\d+)-(\d+)-(\d+)\s+\d+):(\d+):(\d+$/', $s, $m) ? $m[3].'.'.$m[2].'.'.$m[1].' '.$m[4] : '';
}
function sql_to_datetime_nosec ($s) {
return preg_match('/^(\d+)-(\d+)-(\d+)\s+(\d+):(\d+):(\d+)$/', $s, $m) ? $m[3].'.'.$m[2].'.'.$m[1].' '.$m[4].':'.$m[5] : '';
}
function sql_to_ts ($s) {
if (preg_match('/^(\d+)-(\d+)-(\d+)\s+\d+):(\d+):(\d+$/', $s, $m {
return mktime($m[5], $m[6], $m[7], $m[2], $m[3], $m[1]);
} elseif (preg_match('/^(\d+)-(\d+)-(\d+)/', $s, $m {
return mktime(0, 0, 0, $m[2], $m[3], $m[1]);
} else {
return 0;
}
}
function date_to_sql ($s) {
return preg_match('/^(\d{1,2})\.(\d{1,2})\.(\d{1,4})$/', $s, $m) && checkdate($m[2], $m[1], $m[3])
? $m[3].'-'.$m[2].'-'.$m[1] : false;
}
function datetime_to_sql ($s) {
return preg_match('/^(\d{1,2})\.(\d{1,2})\.(\d{1,4}\s+([0-1]?\d|2[0-3]):([0-5]?\d:([0-5]?\d?)?$/', $s, $m) &&
checkdate($m[2], $m[1], $m[3]) ? trim($m[3].'-'.$m[2].'-'.$m[1].' '.$m[4]) : false;
}
function ts_to_date($ts) {
return date('d.m.Y', $ts);
}
function ts_to_time($ts) {
return date('H:i:s', $ts);
}
function ts_to_datetime($ts){
return date('d.m.Y H:i:s', $ts);
}
function ts_to_sql($ts) {
return date('Y-m-d H:i:s', $ts);
}
date_format
extract
Оставить комментарий
uncle17
Что-то не совсем понимаю, как этим типом пользоваться. В итоге время храню в юникс-тайм в бигинте. Можно кратко, без ссылок на фак и т.п.? Пользуется с пхп.