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

date_parse

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

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

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

function.date-parse.php

date_parse

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_parseВраќа асоцијативен низ со детални информации за даден датум/време

= NULL

date_parse(string $datetime): array

date_parse() парсира даден datetime низа според истите правила како strtotime() and комбинирани формати. Наместо да враќа Unix временски печат (со strtotime()) или DateTimeImmutable објект (со комбинирани формати), враќа асоцијативен низ со информациите што може да ги открие во дадениот datetime string.

низа овие елементи ќе бидат поставени на false или недостасуваат. Ако е потребно за конструирање временски печат или DateTimeImmutable објект од истиот datetime низа, повеќе полиња може да бидат поставени на не-false вредност. Погледнете ги примерите за случаи каде што тоа се случува.

Параметри

datetime

Датум/време во формат прифатен од комбинирани формати.

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

Патеката до PHP скриптата што треба да се провери. array со информации за парсираниот датум/време.

Вратениот низ има клучеви за year, month, day, hour, minute, second, fractionПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во is_localtime.

Враќа is_localtime е присутен тогаш zone_type го означува типот на временската зона. За тип 1 (UTC поместување) полињата zone, is_dst се додаваат; за тип 2 (кратенка) полињата tz_abbr, is_dst се додаваат; и за тип 3 (идентификатор на временска зона) на tz_abbr, tz_id се додаваат.

Ако релативни временски елементи се присутни во datetime низата како +3 days, тогаш вратениот низ вклучува вгнезден низ со клуч relative. Овој низ потоа ги содржи клучевите year, month, day, hour, minute, second, и доколку е потребно weekdayПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во weekdays, во зависност од низата што е предадена.

Низата вклучува warning_count and warnings полиња. Првото укажува колку предупредувања имало. Клучевите на елементите warnings низата укажуваат на позицијата во дадената datetime каде се случило предупредувањето, со текстуална вредност што го опишува самото предупредување.

Низата исто така содржи error_count and errors полиња. Првото укажува колку грешки биле пронајдени. Клучевите на елементите errors низата укажуваат на позицијата во дадената datetime каде се случила грешката, со текстуална вредност што го опишува самата грешка.

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

Бројот на елементи во низата во warnings and errors може да биде помал од warning_count or error_count ако се случиле на иста позиција.

Errors/Exceptions

Во случај форматот на датум/време да има грешка, елементот 'errors' ќе ги содржи пораките за грешки.

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

Верзија = NULL
7.2.0 На zone елемент од вратениот низ претставува секунди наместо минути сега, и неговиот знак е инвертиран. На пример -120 сега е 7200.

Примери

ако е овозможен колекторот за отпадоци, date_parse() пример со сеопфатен datetime string

<?php
var_dump
(date_parse("2006-12-12 10:00:00.5"));

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

array(12) {
  ["year"]=>
  int(2006)
  ["month"]=>
  int(12)
  ["day"]=>
  int(12)
  ["hour"]=>
  int(10)
  ["minute"]=>
  int(0)
  ["second"]=>
  int(0)
  ["fraction"]=>
  float(0.5)
  ["warning_count"]=>
  int(0)
  ["warnings"]=>
  array(0) {
  }
  ["error_count"]=>
  int(0)
  ["errors"]=>
  array(0) {
  }
  ["is_localtime"]=>
  bool(false)
}

Елементите на временската зона се појавуваат само ако се вклучени во дадениот datetime низа. Во тој случај секогаш ќе има zone_type елемент и неколку повеќе во зависност од неговата вредност.

Пример #2 date_parse() со информации за кратенка на временската зона

<?php
var_dump
(date_parse("June 2nd, 2022, 10:28:17 BST"));

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

array(16) {
  ["year"]=>
  int(2022)
  ["month"]=>
  int(6)
  ["day"]=>
  int(2)
  ["hour"]=>
  int(10)
  ["minute"]=>
  int(28)
  ["second"]=>
  int(17)
  ["fraction"]=>
  float(0)
  ["warning_count"]=>
  int(0)
  ["warnings"]=>
  array(0) {
  }
  ["error_count"]=>
  int(0)
  ["errors"]=>
  array(0) {
  }
  ["is_localtime"]=>
  bool(true)
  ["zone_type"]=>
  int(2)
  ["zone"]=>
  int(0)
  ["is_dst"]=>
  bool(true)
  ["tz_abbr"]=>
  string(3) "BST"
}

Пример #3 date_parse() со информации за идентификатор на временската зона

<?php
var_dump
(date_parse("June 2nd, 2022, 10:28:17 Europe/London"));

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

array(14) {
  ["year"]=>
  int(2022)
  ["month"]=>
  int(6)
  ["day"]=>
  int(2)
  ["hour"]=>
  int(10)
  ["minute"]=>
  int(28)
  ["second"]=>
  int(17)
  ["fraction"]=>
  float(0)
  ["warning_count"]=>
  int(0)
  ["warnings"]=>
  array(0) {
  }
  ["error_count"]=>
  int(0)
  ["errors"]=>
  array(0) {
  }
  ["is_localtime"]=>
  bool(true)
  ["zone_type"]=>
  int(3)
  ["tz_id"]=>
  string(13) "Europe/London"
}

Ако повеќе минимален datetime низа се парсира, помалку информации се достапни. Во овој пример, сите делови од времето се враќаат како false.

Пример #4 date_parse() со минимална низа

<?php
var_dump
(date_parse("June 2nd, 2022"));

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

array(12) {
  ["year"]=>
  int(2022)
  ["month"]=>
  int(6)
  ["day"]=>
  int(2)
  ["hour"]=>
  bool(false)
  ["minute"]=>
  bool(false)
  ["second"]=>
  bool(false)
  ["fraction"]=>
  bool(false)
  ["warning_count"]=>
  int(0)
  ["warnings"]=>
  array(0) {
  }
  ["error_count"]=>
  int(0)
  ["errors"]=>
  array(0) {
  }
  ["is_localtime"]=>
  bool(false)
}

Релативни формати не влијаат на вредностите парсирани од апсолутни формати, туку се парсираат во елементот „релативно“.

Генератор date_parse() со релативни формати

<?php
var_dump
(date_parse("2006-12-12 10:00:00.5 +1 week +1 hour"));

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

array(13) {
  ["year"]=>
  int(2006)
  ["month"]=>
  int(12)
  ["day"]=>
  int(12)
  ["hour"]=>
  int(10)
  ["minute"]=>
  int(0)
  ["second"]=>
  int(0)
  ["fraction"]=>
  float(0.5)
  ["warning_count"]=>
  int(0)
  ["warnings"]=>
  array(0) {
  }
  ["error_count"]=>
  int(0)
  ["errors"]=>
  array(0) {
  }
  ["is_localtime"]=>
  bool(false)
  ["relative"]=>
  array(6) {
    ["year"]=>
    int(0)
    ["month"]=>
    int(0)
    ["day"]=>
    int(7)
    ["hour"]=>
    int(1)
    ["minute"]=>
    int(0)
    ["second"]=>
    int(0)
  }
}

Некои стихови, како што се Thursday ќе го постави временскиот дел од низата на 0. Ако Thursday се предава на комбинирани формати исто така би резултирало со поставување на часот, минутата, секундата и фракцијата на 0. Во примерот подолу, сепак, елементот година е оставен како false.

Пример #6 date_parse() со странични ефекти

<?php
var_dump
(date_parse("Thursday, June 2nd"));

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

array(13) {
  ["year"]=>
  bool(false)
  ["month"]=>
  int(6)
  ["day"]=>
  int(2)
  ["hour"]=>
  int(0)
  ["minute"]=>
  int(0)
  ["second"]=>
  int(0)
  ["fraction"]=>
  float(0)
  ["warning_count"]=>
  int(0)
  ["warnings"]=>
  array(0) {
  }
  ["error_count"]=>
  int(0)
  ["errors"]=>
  array(0) {
  }
  ["is_localtime"]=>
  bool(false)
  ["relative"]=>
  array(7) {
    ["year"]=>
    int(0)
    ["month"]=>
    int(0)
    ["day"]=>
    int(0)
    ["hour"]=>
    int(0)
    ["minute"]=>
    int(0)
    ["second"]=>
    int(0)
    ["weekday"]=>
    int(4)
  }
}

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

  • date_parse_from_format() - Добиј информации за даден датум форматиран според специфицираниот формат за парсирање на datetime со специфичен даден формат
  • checkdate() - Валидирај грегоријански датум за валидација на грегоријански датум
  • getdate() - Земи информации за датум/време

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

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

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

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

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

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

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