PHP.mk документација

strtotime

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.strtotime.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.strtotime.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
strtotime

Референца за `function.strtotime.php` со подобрена типографија и навигација.

function.strtotime.php

strtotime

(PHP 4, PHP 5, PHP 7, PHP 8)

strtotimeParse about any English textual datetime description into a Unix timestamp

= NULL

strtotime(string $datetime, ?int $baseTimestamp = null): int|false

Парсирајте речиси секој англиски текстуален опис на датум и време во Unix временски печат baseTimestampФункцијата очекува да ѝ биде даден стринг што содржи англиски формат на датум и ќе се обиде да го парсира тој формат во Unix временски печат (бројот на секунди од 1 јануари 1970 00:00:00 UTC), релативно до временскиот печат даден во baseTimestamp , или тековното време ако Формати на датум и времене е дадено. Парсирањето на стрингот со датум е дефинирано во

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

, и има неколку суптилни разгледувања. Препорачливо е да се прегледаат целокупните детали таму. DateTimeImmutable.

Unix временскиот печат што оваа функција го враќа не содржи информации за временските зони. За да извршите пресметки со информации за датум/време, треба да го користите помоќниот date_default_timezone_get() Секој параметар од оваа функција користи стандардна временска зона, освен ако временска зона не е специфицирана во тој параметар. Внимавајте да не користите различни временски зони во секој параметар, освен ако тоа не е наменето. Погледнете

Параметри

datetime

Низа за датум/време. Валидните формати се објаснети во Формати на датум и време.

baseTimestamp

за различните начини на дефинирање на стандардната временска зона.

Вратени вредности

Временскиот печат што се користи како основа за пресметката на релативните датуми. false otherwise.

Errors/Exceptions

Секој повик до функција за датум/време ќе генерира E_WARNING ако временската зона не е валидна. Погледнете исто така date_default_timezone_set()

Дневник на промени

Верзија = NULL
8.0.0 baseTimestamp сега е null.

Примери

ако е овозможен колекторот за отпадоци, strtotime() example

<?php
echo strtotime("now"), "\n";
echo
strtotime("10 September 2000"), "\n";
echo
strtotime("+1 day"), "\n";
echo
strtotime("+1 week"), "\n";
echo
strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo
strtotime("next Thursday"), "\n";
echo
strtotime("last Monday"), "\n";

Враќа временски печат при успех,

<?php
$str
= 'Not Good';

if ((
$timestamp = strtotime($str)) === false) {
echo
"The string ($str) is bogus";
} else {
echo
"$str == " . date('l dS \o\f F Y h:i:s A', $timestamp);
}

Белешки

Забелешка:

Пример #2 Проверка за неуспех baseTimestamp"Релативен" датум во овој случај исто така значи дека ако одредена компонента на временскиот печат не е обезбедена, таа ќе биде земена буквално од strtotime('February'). Тоа е, 31 February 2022, ако се изврши на 31-ви мај 2022 година, ќе се толкува како 3 March, што ќе се прелее во временски печат на 2 March. (Во престапна година, тоа би било strtotime('1 February') or strtotime('first day of February') .) Користење

Забелешка:

би го избегнало тој проблем.

Забелешка:

Ако бројот на годината е специфициран во формат од две цифри, вредностите помеѓу 00-69 се мапираат на 2000-2069, а 70-99 на 1970-1999. Погледнете ги белешките подолу за можни разлики на 32-бит системи (можни датуми може да завршат на 2038-01-19 03:14:07).

За 64-битни верзии на PHP, валидниот опсег на временски печат е практично бесконечен, бидејќи 64 бита можат да претстават приближно 293 милијарди години во која било насока.

Забелешка:

Не се препорачува користење на оваа функција за математички операции. Подобро е да се користи DateTime::add() and DateTimeImmutable::sub().

Види Исто така

Белешки од корисници 5 белешки

Вјачеслав Белчук
3 години пред
Be careful when using two numbers as the year. I came across this situation:

<?php

echo strtotime('24.11.22');
echo date('d.m.Y H:i:s', 1669324282)  .  "\n\n";

// But
echo strtotime('24.11.2022');
echo date('d.m.Y H:i:s', 1669237200);

?>

Output:

1669324282
25.11.2022 00:11:22

1669237200
24.11.2022 00:00:00
info at pipasjourney dot com
пред 2 години
Be aware of this: 1 month before the 31st day, it will return the same month:

<?php
echo date('m', strtotime('2023-05-30 -1 month')) ; //returns 04
echo date('m', strtotime('2023-05-31 -1 month')) ; //returns 05, not 04
?>

So, don't use this to operate on the month of the result.
A better way to know what month was the previous month would be:

<?php
//considering today is 2023-05-31...

$firstOfThisMonth = date('Y-m') . '-01'; //returns 2023-05-01
echo date('m', strtotime($firstOfThisMonth . ' -1 month')) ; //returns 04
?>
elsiland at yahoo dot com
пред 1 година
Not sure why, but 
<?php
echo strtotime("+2 hours"), "\n";
echo strtotime("+2 hrs"), "\n";
echo strtotime("+2 hourss"), "\n";
?>

are returning +2 hours, -2 hours, +8 hours. The latter two should be errors instead.
et точка coder на gmail точка com
пред 1 година
> The Unix timestamp that this function returns does not contain information about time zones. In order to do calculations with date/time information, you should use the more capable DateTimeImmutable.

important - does not contain

<?php
date_default_timezone_set('Europe/Berlin');

// ....  a lot of code 

echo $a = strtotime('yesterday 00:00');

// in $a hour = 23:00:00 and you may not know about it
// https://onlinephp.io/c/ef696
// use DateTimeImmutable
event at mail dot de
пред 1 година
'timestamp_sdt' for counting from zero hours of a specific day

<?php 

echo $timestamp_sdt = strtotime(date('d.m.Y',time()).'00.00.00')*1000; echo '<br><br>';

echo date('d.m.Y H.i.s', $timestamp_sdt/1000); echo '<br><br>';

?>

will give out:

1734649200000

20.12.2024 00.00.00
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.