Вы рассчитываете рассчитать время последнего небесного события, когда солнце прошло прямо под вашими ногами, скорректировано на локальные соглашения о маркировке в полдень, а также потенциально корректируется, чтобы люди имели достаточно дневного света после возвращения домой с работы , и для других политических соображений.
Опасно? На самом деле это общая проблема, но полный ответ зависит от местоположения:
$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
[?!up\/]?
является классом символов, который соответствует ?
или !
, u
, p
или /
, 1 или 0 раз (из-за квантификатора ?
после ]
, это делает этот шаблон необязательным).
Вы можете использовать регулярное выражение, основанное на взгляде, например
r'(?i)\b(?<!\bup/)down\b'
См. Демонстрацию regex
Подробности
(?i)
- флаг без учета регистра \b
- граница слова (чтобы избежать совпадения down
в touchdown
) (?<!\bup/)
- без целого слова up
допускается непосредственно слева от текущего местоположения down
- down
последовательность символов \b
- граница слова, непосредственно справа, не может быть слова char (буква, цифра или _
, а также некоторые другие, поскольку флаг re.U
включен по умолчанию в Python 3, но они не так важны).