Создание http-вызова в угловом / javascript - это асинхронная операция. Поэтому, когда вы делаете http-вызов, он назначит новый поток для завершения этого вызова и начнет выполнение следующей строки с помощью другого потока. Вот почему вы получаете неопределенное значение. поэтому сделайте ниже изменение, чтобы разрешить это
this.es.getEventList()
.subscribe((response)=>{
this.myEvents = response;
console.log(this.myEvents); //<-this become synchronous now
});
$timestamp = strtotime('today midnight');
Вы можете посмотреть, что может предложить PHP: http://php.net/datetime
$midnight = strtotime('midnight');
. Вы также можете попробовать strtotime('12am')
или strtotime('[input any time you wish to here. e.g noon, 6pm, 3pm, 8pm, etc]')
. Я пропустил добавление сегодня до полуночи, потому что сегодня по умолчанию.
Сегодня в полночь. Легко.
$stamp = mktime(0, 0, 0);
Я думаю, что вы должны использовать новый объект PHP DateTime, поскольку у него нет проблем с датами, выходящими за пределы 32-битных ограничений, которые имеет strtotime (). Вот пример того, как вы получите сегодняшнюю дату в полночь.
$today = new DateTime();
$today->setTime(0,0);
Или, если вы используете PHP 5.4 или новее, вы можете сделать это следующим образом:
$today = (new DateTime())->setTime(0,0);
Затем вы можете использовать echo $today->format('Y-m-d');
, чтобы получить формат, который вы хочу, чтобы ваш объект выводился как.
new DateTime('today midnight')
, что делает намерение более ясным (но это, конечно, вопрос вкуса).
– Martijn
22 November 2014 в 11:23
new Carbon('today midnight')
, а затем вы можете использовать все материалы Carbon, такие как ->subDays(6)
. См. carbon.nesbot.com
– Christopher K.
28 August 2017 в 14:57
Вы рассчитываете рассчитать время последнего небесного события, когда солнце прошло прямо под вашими ногами, скорректировано на локальные соглашения о маркировке в полдень, а также потенциально корректируется, чтобы люди имели достаточно дневного света после возвращения домой с работы , и для других политических соображений.
Опасно? На самом деле это общая проблема, но полный ответ зависит от местоположения:
$zone = new \DateTimeZone('America/New_York'); // Or your own definition of “here”
$todayStart = new \DateTime('today midnight', $zone);
$timestamp = $todayStart->getTimestamp();
Потенциальные определения «здесь» перечислены в https://secure.php.net/manual/en /timezones.php
$today_at_midnight = strtotime(date("Ymd"));
должен дать вам то, что вам нужно.
explain
То, что я сделал, это использовать функцию даты PHP для получения сегодняшней даты без любые ссылки на время, а затем передать его функции «строка-время», которая преобразует дату и время в метку времени. Если он не получает времени, он принимает первую секунду этого дня.
Ссылки: Дата Функция: http://php.net/manual/en/function.date.php
Строка времени: http://us2.php.net/manual/en/function.strtotime.php
strtotime()
, ум был настолько сфокусирован на функции даты. Извиняюсь.
– wesside
29 October 2012 в 23:25
$timestamp = strtotime('today');
- полночь. Но pssst i> одно выше выглядит более холодным как ответ на вопрос;) – hakre 29 October 2012 в 23:30tomorrow
;) – hakre 25 June 2015 в 11:02