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

mktime

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

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

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

function.mktime.php

mktime

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

mktimeДобијте Unix временски печат за датум

= NULL

mktime(
         int $hour,
         ?int $minute = null,
         ?int $second = null,
         ?int $month = null,
         ?int $day = null,
         ?int $year = null
): int|false

Враќа Unix временски печат што одговара на дадените аргументи. Овој временски печат е долг цел број што го содржи бројот на секунди помеѓу Unix епохата (1 јануари 1970 00:00:00 GMT) и наведеното време.

Сите опционални аргументи изоставени или null ќе бидат поставени на тековната вредност според локалниот датум и време.

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

Ве молиме имајте предвид дека редоследот на аргументите е во чуден редослед: month, day, year, а не во поразумниот редослед на year, month, day.

Повикување mktime() без аргументи не е поддржано и ќе резултира со ArgumentCountError. time() може да се користи за добивање на тековниот временски печат.

Параметри

hour

Бројот на часот во однос на почетокот на денот определен од month, day and year. Негативните вредности се однесуваат на часот пред полноќ на денот во прашање. Вредностите поголеми од 23 се однесуваат на соодветниот час во следните денови.

minute

Бројот на минутата во однос на почетокот на hour. Негативните вредности се однесуваат на минутата во претходниот час. Вредностите поголеми од 59 се однесуваат на соодветната минута во следните часови.

second

Бројот на секундите во однос на почетокот на minute. Негативните вредности се однесуваат на секундата во претходната минута. Вредностите поголеми од 59 се однесуваат на соодветната секунда во следните минути.

month

Бројот на месецот во однос на крајот на претходната година. Вредностите од 1 до 12 се однесуваат на нормалните календарски месеци од годината во прашање. Вредностите помали од 1 (вклучувајќи негативни вредности) се однесуваат на месеците во претходната година во обратен редослед, така што 0 е декември, -1 е ноември, итн. Вредностите поголеми од 12 се однесуваат на соодветниот месец во следните години.

day

Бројот на денот во однос на крајот на претходниот месец. Вредностите од 1 до 28, 29, 30 или 31 (во зависност од месецот) се однесуваат на нормалните денови во релевантниот месец. Вредностите помали од 1 (вклучувајќи негативни вредности) се однесуваат на деновите во претходниот месец, така што 0 е последниот ден од претходниот месец, -1 е денот пред тоа, итн. Вредностите поголеми од бројот на денови во релевантниот месец се однесуваат на соодветниот ден во следните месеци.

year

Бројот на годината, може да биде вредност со две или четири цифри, при што вредностите помеѓу 0-69 се мапираат на 2000-2069 и 70-100 на 1970-2000. На системи каде time_t е 32-битен потпишан цел број, како што е најчесто денес, валидниот опсег за year е некаде помеѓу 1901 и 2038 година.

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

mktime() враќа Unix временски печат на дадените аргументи, или false ако временскиот печат не се вклопува во PHP цел број.

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

Верзија = NULL
8.0.0 hour веќе не е опционално. Ако ви треба Unix временски печат, користете time().
8.0.0 minute, second, month, day and year се сега null.

Примери

Пример #1 mktime() основен пример

<?php
// Set the default timezone to use.
date_default_timezone_set('UTC');

// Prints: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000)) . "\n";

// Prints something like: 2006-04-05T01:02:03+00:00
echo date('c', mktime(1, 2, 3, 4, 5, 2006)) . "\n";

Горниот пример ќе прикаже нешто слично на:

July 1, 2000 is on a Saturday
2006-04-05T01:02:03+00:00

Пример #2 mktime() example

mktime() е корисен за вршење аритметика и валидација на датуми, бидејќи автоматски ќе го пресмета точниот вредност за внес надвор од опсегот. На пример, секој од следниве редови го произведува стрингот "Јан-01-1998".

<?php
date_default_timezone_set
('America/New_York');

echo
date("c", mktime(0, 0, 0, 12, 32, 1997)) . "\n";
echo
date("c", mktime(0, 0, 0, 13, 1, 1997)) . "\n";
echo
date("c", mktime(0, 0, 0, 1, 1, 1998)) . "\n";
echo
date("c", mktime(0, 0, 0, 1, 1, 98)) . "\n";

Горниот пример ќе прикаже нешто слично на:

1998-01-01T00:00:00-05:00
1998-01-01T00:00:00-05:00
1998-01-01T00:00:00-05:00
1998-01-01T00:00:00-05:00

Пример #3 Користење mktime за пронаоѓање релативни датуми

<?php
date_default_timezone_set
('Asia/Tokyo');

$tomorrow = mktime(0, 0, 0, date("m") , date("d")+1, date("Y"));
print
date('c', $tomorrow) . "\n";

$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"), date("Y"));
print
date('c', $lastmonth) . "\n";

$nextyear = mktime(0, 0, 0, date("m"), date("d"), date("Y")+1) . "\n";
print
date('c', $nextyear) . "\n";

Горниот пример ќе прикаже нешто слично на:

2025-09-30T00:00:00+09:00
2025-08-29T00:00:00+09:00
2026-09-29T00:00:00+09:00

Забелешка:

Ова може да биде посигурно отколку едноставно додавање или одземање на бројот на секунди во ден или месец на временска ознака поради летното сметање на времето.

Пример #4 Последниот ден од месецот

Последниот ден од кој било даден месец може да се изрази како "0" ден од следниот месец, а не -1 ден. И двата од следниве примери ќе го произведат стрингот "Последниот ден во фев 2000 е: 29".

<?php

$lastday
= mktime(0, 0, 0, 3, 0, 2000);
echo
'Last day in Feb 2000 is: ', date('d', $lastday) . "\n";

$lastday = mktime(0, 0, 0, 4, -31, 2000);
echo
'Last day in Feb 2000 is: ', date('d', $lastday) . "\n";

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

Last day in Feb 2000 is: 29
Last day in Feb 2000 is: 29

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

  • На DateTimeImmutable class
  • checkdate() - Валидирај грегоријански датум
  • gmmktime() - Земете Unix временска ознака за датум во GMT
  • date() - Форматирај Unix временски печат
  • time() - Врати ја тековната Unix временска ознака

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

Нема белешки од корисници за оваа страница.
На оваа страница

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

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

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

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

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