Skip to content

Commit 1d03ec1

Browse files
universe-42dg
authored andcommitted
added DateTime docs (#502)
1 parent bce3f18 commit 1d03ec1

File tree

2 files changed

+158
-0
lines changed

2 files changed

+158
-0
lines changed

cs/datetime.texy

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
Práce s datumy - Nette\Utils\DateTime
2+
*************************************
3+
4+
.[perex]
5+
[Nette\Utils\DateTime |api:] je statická třída, která rozšiřuje [php:datetime] o další užitečné funkce pro práci s časem a datumy.
6+
7+
Všechny příklady předpokládají vytvořený alias:
8+
9+
/--php
10+
use Nette\Utils\DateTime;
11+
\--
12+
13+
Pojďme se podívat jak je to snadné.
14+
15+
/--php
16+
$netteRelease = DateTime::from('2006-01-23 10:54:00'); // vytvoří DateTime z řetězce
17+
$netteRelease->modify('+10 years, 1 month'); // přičte 10 let a 1 měsíc
18+
echo $netteRelease; // 2016-02-23 10:54:00
19+
\--
20+
21+
/--php
22+
$birthday = DateTime::createFromFormat('d.m.Y', '26.02.1994'); // vytvoří DateTime z vlastního formátu
23+
echo $birthday->getTimestamp(); // 762265863
24+
\--
25+
26+
.[note]
27+
metoda modify je z rodičovské třídy [php:datetime].
28+
29+
from($time)
30+
----------
31+
Vytvoří [Nette\Utils\DateTime |api:] objekt z řetězce, čísla nebo jiného rozšíření [php:datetime] a postará se o nastavení timezone.
32+
33+
/--php
34+
DateTime::from(1138013640); // vytvoří DateTime z timestamp
35+
DateTime::from(42); // vytvoří DateTime z aktuálního času a přičte 42 sekund
36+
DateTime::from('1994-02-26 04:15:32'); // vytvoří DateTime z datumu i času
37+
DateTime::from('1994-02-26'); // vytvoří DateTime z datumu a zbytek doplní nulami
38+
\--
39+
40+
createFromFormat($format, $time, $timezone = NULL)
41+
--------------------------------------------------
42+
Rozšiřuje metodu //from// o možnost určit vlastní formát a timezone.
43+
/--php
44+
DateTime::createFromFormat('d.m.Y', '26.02.1994'); // vytvoří DateTime z formátu s výchozí timezone
45+
DateTime::createFromFormat('d.m.Y', '26.02.1994', 'Europe/London'); // nebo s vlastní timezone
46+
DateTime::createFromFormat('j. n. Y H:i', '8. 9. 2042 16:36'); // jiný příklad
47+
\--
48+
49+
setTimestamp($timestamp)
50+
------------------------
51+
/--php
52+
$created = new DateTime();
53+
$created->setTimestamp(1138013640);
54+
\--
55+
56+
getTimestamp()
57+
--------------
58+
/--php
59+
$publicDate = DateTime::from('2017-02-03');
60+
$publicDate->getTimestamp(); //1486076400
61+
\--
62+
63+
modifyClone($modify = '')
64+
-------------------------
65+
Vytvoří kopii aniž by ovlivnil aktuální instanci.
66+
/--php
67+
$created = DateTime::from('2017-02-03');
68+
$public = $created->modifyClone('+1 day');
69+
echo $created; // 2017-02-03
70+
echo $public; // 2017-02-04
71+
\--
72+
73+
jsonSerialize()
74+
---------------
75+
Vrátí řetězec ve standartu ISO 8601, který je používán třeba v JavaScriptu.
76+
/--php
77+
$iso = DateTime::from('2017-02-03');
78+
echo $iso->jsonSerialize();
79+
\--

en/datetime.texy

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
Date and Time - Nette\Utils\DateTime
2+
*************************************
3+
4+
.[perex]
5+
[Nette\Utils\DateTime |api:] is a static class extends [php:datetime] with useful functions for working with date and time.
6+
7+
All examples assume the following class alias is defined:
8+
9+
/--php
10+
use Nette\Utils\DateTime;
11+
\--
12+
13+
Let´s take a look how it´s simple.
14+
15+
/--php
16+
$netteRelease = DateTime::from('2006-01-23 10:54:00'); // create from string
17+
$netteRelease->modify('+10 years, 1 month'); // add 10 years and 1 month
18+
echo $netteRelease; // 2016-02-23 10:54:00
19+
\--
20+
21+
/--php
22+
$birthday = DateTime::createFromFormat('d.m.Y', '26.02.1994'); // create from custom format
23+
echo $birthday->getTimestamp(); // 762265863
24+
\--
25+
26+
.[note]
27+
modify is method from parent class [php:datetime]
28+
29+
from($time)
30+
----------
31+
Create [Nette\Utils\DateTime |api:] instance from string, integer or other implementations of [php:datetime] and setup default timezone.
32+
33+
/--php
34+
DateTime::from(1138013640); // create from timestamp
35+
DateTime::from(42); // create from current time and add 42 seconds
36+
DateTime::from('1994-02-26 04:15:32'); // create from date and time
37+
DateTime::from('1994-02-26'); // create from date then fill zeroes
38+
\--
39+
40+
createFromFormat($format, $time, $timezone = NULL)
41+
--------------------------------------------------
42+
Extends //from// method for set custom format and timezone.
43+
/--php
44+
DateTime::createFromFormat('d.m.Y', '26.02.1994'); // create from custom format and default timezone
45+
DateTime::createFromFormat('d.m.Y', '26.02.1994', 'Europe/London'); // create with custom timezone
46+
DateTime::createFromFormat('j. n. Y H:i', '8. 9. 2042 16:36'); // other example
47+
\--
48+
49+
setTimestamp($timestamp)
50+
------------------------
51+
/--php
52+
$created = new DateTime();
53+
$created->setTimestamp(1138013640);
54+
\--
55+
56+
getTimestamp()
57+
--------------
58+
/--php
59+
$publicDate = DateTime::from('2017-02-03');
60+
$publicDate->getTimestamp(); //1486076400
61+
\--
62+
63+
modifyClone($modify = '')
64+
-------------------------
65+
Create independent copy of current instance.
66+
/--php
67+
$created = DateTime::from('2017-02-03');
68+
$public = $created->modifyClone('+1 day');
69+
echo $created; // 2017-02-03
70+
echo $public; // 2017-02-04
71+
\--
72+
73+
jsonSerialize()
74+
---------------
75+
Get string in standard ISO 8601 (used by JavaScript).
76+
/--php
77+
$iso = DateTime::from('2017-02-03');
78+
echo $iso->jsonSerialize();
79+
\--

0 commit comments

Comments
 (0)