Получить unix метку нового дня

Получить unix метку нового дня

26.06.2018 11:53:20 Просмотров 26 Источник

к примеру:

сегодня 26.06.2018 в 00:00:00 unix число было таким 1529971200

Вопрос:

есть ли стандартная функция которая показывала бы unix метку нового дня? если нет, может у кого то есть готовое решение? прошу поделиться!

Мне данная задача нужна для введения статистики уникальных посещений. ip + дата

У вопроса есть решение - Посмотреть?

Ответы - Получить unix метку нового дня / Получить unix метку нового дня

Является ответом!
teran

26.06.2018 12:01:46

как-то так видимо?

$ts = (new DateTime())->setTime(0,0)->getTimestamp() 

или

$ts = mktime(0,0,0);
https://ru.stackoverflow.com/questions/846822/%d0%9f%d0%be%d0%bb%d1%83%d1%87%d0%b8%d1%82%d1%8c-unix-%d0%bc%d0%b5%d1%82%d0%ba%d1%83-%d0%bd%d0%be%d0%b2%d0%be%d0%b3%d0%be-%d0%b4%d0%bd%d1%8f/846828#comment1360792_846828
практически, вот только ваше решение показывает unix метку -3 GMT
https://ru.stackoverflow.com/questions/846822/%d0%9f%d0%be%d0%bb%d1%83%d1%87%d0%b8%d1%82%d1%8c-unix-%d0%bc%d0%b5%d1%82%d0%ba%d1%83-%d0%bd%d0%be%d0%b2%d0%be%d0%b3%d0%be-%d0%b4%d0%bd%d1%8f/846828#comment1360796_846828
мое решение показываает метку с учетом часового пояса в настройках php
https://ru.stackoverflow.com/questions/846822/%d0%9f%d0%be%d0%bb%d1%83%d1%87%d0%b8%d1%82%d1%8c-unix-%d0%bc%d0%b5%d1%82%d0%ba%d1%83-%d0%bd%d0%be%d0%b2%d0%be%d0%b3%d0%be-%d0%b4%d0%bd%d1%8f/846828#comment1360799_846828
на сколько я знаю unix по умолчанию показывает 0 GMT вне зависимости от настроек сервера. разве не так?
https://ru.stackoverflow.com/questions/846822/%d0%9f%d0%be%d0%bb%d1%83%d1%87%d0%b8%d1%82%d1%8c-unix-%d0%bc%d0%b5%d1%82%d0%ba%d1%83-%d0%bd%d0%be%d0%b2%d0%be%d0%b3%d0%be-%d0%b4%d0%bd%d1%8f/846828#comment1360815_846828
дак вы описание mktime-то почитайте?
https://ru.stackoverflow.com/questions/846822/%d0%9f%d0%be%d0%bb%d1%83%d1%87%d0%b8%d1%82%d1%8c-unix-%d0%bc%d0%b5%d1%82%d0%ba%d1%83-%d0%bd%d0%be%d0%b2%d0%be%d0%b3%d0%be-%d0%b4%d0%bd%d1%8f/846828#comment1360825_846828
значение timestamp в вопросе говорит, что автора интересует когда полночь в UTC¶ mktime() принимает местное время, которое может отличаться от UTC (любая часовая зона с ненулевым UTC сдвигом). Можно поискать аналог timegm функции (обратная к gmtime()). В питоне решение выглядит как: DT.datetime(2018,6,26, tzinfo=DT.timezone.utc).timestamp() — можно аналог в php поискать.
https://ru.stackoverflow.com/questions/846822/%d0%9f%d0%be%d0%bb%d1%83%d1%87%d0%b8%d1%82%d1%8c-unix-%d0%bc%d0%b5%d1%82%d0%ba%d1%83-%d0%bd%d0%be%d0%b2%d0%be%d0%b3%d0%be-%d0%b4%d0%bd%d1%8f/846828#comment1360834_846828
@jfs DateTime::setTimezone(), либо выставлять TZ перед вызовом mktime и восстаналивать. Либо как в соседнем ответе strtotime указывать с зоной.
ПЭХАПЭШНИК

26.06.2018 12:03:09

Вроде так strtotime(date("Y-m-d"))

jfs

26.06.2018 12:57:13

Чтобы получить Unix время соответствующее полночи в UTC для указанной даты, можно gmmktime() функцию использовать:

echo gmmktime(0,0,0,6,26,2018);

Результат:

1529971200
Закрыть X