File: mktime.xml

package info (click to toggle)
phpdoc 20050512-1
  • links: PTS
  • area: non-free
  • in suites: sarge
  • size: 36,592 kB
  • ctags: 1,501
  • sloc: xml: 376,768; php: 6,708; cpp: 500; makefile: 293; perl: 161; sh: 151; awk: 28
file content (143 lines) | stat: -rw-r--r-- 5,197 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.16 $ -->
<!-- splitted from ./en/functions/datetime.xml, last change in rev 1.2 -->
<refentry id="function.mktime">
 <refnamediv>
  <refname>mktime</refname>
  <refpurpose>Get Unix timestamp for a date</refpurpose>
 </refnamediv>
 <refsect1>
  <title>Description</title>
  <methodsynopsis>
   <type>int</type><methodname>mktime</methodname>
   <methodparam choice="opt"><type>int</type><parameter>hour</parameter></methodparam>
   <methodparam choice="opt"><type>int</type><parameter>minute</parameter></methodparam>
   <methodparam choice="opt"><type>int</type><parameter>second</parameter></methodparam>
   <methodparam choice="opt"><type>int</type><parameter>month</parameter></methodparam>
   <methodparam choice="opt"><type>int</type><parameter>day</parameter></methodparam>
   <methodparam choice="opt"><type>int</type><parameter>year</parameter></methodparam>
   <methodparam choice="opt"><type>int</type><parameter>is_dst</parameter></methodparam>
  </methodsynopsis>
  <para>
   <emphasis>Warning:</emphasis> Note the strange order of
   arguments, which differs from the order of arguments in a regular
   Unix mktime() call and which does not lend itself well to leaving
   out parameters from right to left (see below). It is a common
   error to mix these values up in a script.
  </para>
  <para>
   Returns the Unix timestamp corresponding to the arguments
   given. This timestamp is a long integer containing the number of
   seconds between the Unix Epoch (January 1 1970 00:00:00 GMT) and the time
   specified.
  </para>
  <para>
   Arguments may be left out in order from right to left; any
   arguments thus omitted will be set to the current value according
   to the local date and time.
  </para>
  <para>
   <parameter>is_dst</parameter> can be set to 1 if the time is
   during daylight savings time (DST), 0 if it is not, or -1 (the default)
   if it is unknown whether the time is within daylight savings time
   or not. If it's unknown, PHP tries to figure it out itself. This can
   cause unexpected (but not incorrect) results.
  </para>
  <para>
   Some times are invalid if DST is enabled on the system PHP is running on
   or <parameter>is_dst</parameter> is set to 1. If DST is enabled in e.g.
   2:00, all times between 2:00 and 3:00 are invalid and
   <function>mktime</function> returns an undefined (usually negative) value.
   Some systems (e.g. Solaris 8) enable DST at midnight so time 0:30
   of the day when DST is enabled is evaluated as 23:30 of the previous day.
  </para>
  <note>
   <para>
    <parameter>is_dst</parameter> was added in 3.0.10.
   </para>
  </note>
  <para>
   <function>mktime</function> is useful for doing date arithmetic
   and validation, as it will automatically calculate the correct
   value for out-of-range input. For example, each of the following
   lines produces the string "Jan-01-1998".
   <example>
    <title><function>mktime</function> example</title>
    <programlisting role="php">
<![CDATA[
<?php
echo date("M-d-Y", mktime(0, 0, 0, 12, 32, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 13, 1, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 1998));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 98));
?>
]]>
    </programlisting>
   </example>
   <parameter>Year</parameter> may be a two or four digit value,
   with values between 0-69 mapping to 2000-2069 and 70-99 to
   1970-1999 (on systems where time_t is a 32bit signed integer, as
   most common today, the valid range for
   <parameter>year</parameter> is somewhere between 1901 and 2038).
  </para>
  <para>
   <note>
    <title>Windows</title>
    <simpara>
     Negative timestamps are not supported under any known version
     of Windows.  Therefore the range of valid years includes only 1970
     through 2038.
    </simpara>
   </note>
  </para>
  <para>
   The last day of any given month can be expressed as the "0" day
   of the next month, not the -1 day. Both of the following examples
   will produce the string "The last day in Feb 2000 is: 29".
   <example>
    <title>Last day of next month</title>
    <programlisting role="php">
<![CDATA[
<?php
$lastday = mktime(0, 0, 0, 3, 0, 2000);
echo strftime("Last day in Feb 2000 is: %d", $lastday);

$lastday = mktime(0, 0, 0, 4, -31, 2000);
echo strftime("Last day in Feb 2000 is: %d", $lastday);
?>
]]>
    </programlisting>
   </example>
  </para>
  <simpara>
   Date with year, month and day equal to zero is considered illegal
   (otherwise it what be regarded as 30.11.1999, which would be strange
   behavior).
  </simpara>
  <para>
   See also <function>gmmktime</function>,
   <function>date</function> and <function>time</function>.
  </para>
 </refsect1>
</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->