strtodate day php unix-timestamp

day - timestamp php



¿Cómo puedo encontrar la marca de tiempo de Unix para el inicio del día siguiente en PHP? (6)

Algo simple como:

$nextday = $current_timestamp + 86400 - ($current_timestamp % 86400);

es lo que yo usaria

Tengo una marca de tiempo de Unix para la hora actual. Quiero obtener la marca de tiempo de Unix para el comienzo del día siguiente.

$current_timestamp = time(); $allowable_start_date = strtotime(''+1 day'', $current_timestamp);

Como lo estoy haciendo ahora, simplemente estoy agregando 1 día entero a la marca de tiempo de Unix, cuando en cambio me gustaría averiguar cuántos segundos quedan en este día actual, y solo agrego esos segundos para obtener el Unix marca de tiempo para el primer minuto del día siguiente.

¿Cuál es la mejor manera de hacer esto?


El inicio del siguiente día se calcula así:

<?php $current_timestamp = time(); $allowable_start_date = strtotime(''tomorrow'', $current_timestamp); echo date(''r'', $allowable_start_date); ?>

Si necesita seguir su peculiar requerimiento:

<?php $current_timestamp = time(); $seconds_to_add = strtotime(''tomorrow'', $current_timestamp) - $current_timestamp; echo date(''r'', $current_timestamp + $seconds_to_add); ?>


La forma más directa de simplemente " make " ese tiempo:

$tomorrowMidnight = mktime(0, 0, 0, date(''n''), date(''j'') + 1);

Citar:

Me gustaría saber cuántos segundos quedan en este día actual, y solo agregar esos segundos para obtener la marca de tiempo de Unix para el primer minuto del día siguiente.

No lo hagas así. Evite los cálculos relativos siempre que sea posible, especialmente si es tan trivial obtener "absolutamente" la marca de tiempo sin aritmética de segundos.


Mi variante:

$allowable_start_date = strtotime(''today +1 day'');


Puede obtener fácilmente mañana a la medianoche con:

$tomorrow_timestamp = strtotime(''tomorrow'');

Si desea poder hacer una cantidad variable de días, fácilmente podría hacerlo así:

$days = 4; $x_num_days_timestamp = strtotime(date(''m/d/Y'', strtotime("+$days days"))));


$tomorrow = strtotime(''+1 day'', strtotime(date(''Y-m-d''))); $secondsLeftToday = time() - $tomorrow;