qui sono alcune espressioni di debug ho messo in Eclipse, se non mi credete:PHP: strtotime restituisce false per una data futura?
"strtotime("2110-07-16 10:07:47")" = (boolean) false
"strtotime("2110-07-16")" = (boolean) false
sto usando nella mia funzione che restituisce una data casuale tra le date di inizio e fine:
public static function randomDate($start_date, $end_date, $format = DateTimeHelper::DATE_FORMAT_SQL_DATE)
{
if($start_date instanceof DateTime) $start_date = $start_date->format(DateTimeHelper::DATE_FORMAT_YMDHMS);
if($end_date instanceof DateTime) $end_date = $end_date->format(DateTimeHelper::DATE_FORMAT_YMDHMS);
// Convert timetamps to millis
$min = strtotime($start_date);
$max = strtotime($end_date);
// Generate random number using above bounds
$val = rand($min, $max);
// Convert back to desired date format
return date($format, $val);
}
Qualche idea su come ottenerlo per restituire l'orario giusto per una data futura?
grazie!
Ci crediamo, tranne il comportamento previsto per i valori di data che stai passando al di fuori dell'intervallo di date di 32 bit PHP –
Dalla documentazione di PHP: L'intervallo valido di un timestamp è in genere da Fri, 13 Dic 1901 20 : 45: 54 UTC a Mar, 19 gennaio 2038 03:14:07 UTC. (Queste sono le date che corrispondono ai valori minimi e massimi per un intero con segno a 32 bit.) Inoltre, non tutte le piattaforme supportano i timestamp negativi, pertanto l'intervallo di date potrebbe essere limitato a non prima dell'epoca Unix. Ciò significa che ad es. le date precedenti al 1 gennaio 1970 non funzioneranno su Windows, alcune distribuzioni Linux e alcuni altri sistemi operativi. PHP 5.1.0 e versioni più recenti però superano questa limitazione. –
sto usando php 5.3 = S 5.2 sul mio server live. non dovrebbe funzionare, allora? – Garrett