php-doc-en/reference/intl/dateformatter/create.xml

284 lines
11 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="intldateformatter.create" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>IntlDateFormatter::create</refname>
<refname>datefmt_create</refname>
<refname>IntlDateFormatter::__construct</refname>
<refpurpose>Create a date formatter</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<para>
&style.oop;
</para>
<methodsynopsis>
<modifier>public</modifier>
<modifier>static</modifier>
<type>IntlDateFormatter</type><methodname>IntlDateFormatter::create</methodname>
<methodparam><type>string</type><parameter>locale</parameter></methodparam>
<methodparam><type>int</type><parameter>datetype</parameter></methodparam>
<methodparam><type>int</type><parameter>timetype</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>timezone</parameter><initializer>NULL</initializer></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>calendar</parameter><initializer>NULL</initializer></methodparam>
<methodparam choice="opt"><type>string</type><parameter>pattern</parameter><initializer>""</initializer></methodparam>
</methodsynopsis>
<para>
&style.oop; (constructor)
</para>
<constructorsynopsis>
<modifier>public</modifier>
<methodname>IntlDateFormatter::__construct</methodname>
<methodparam><type>string</type><parameter>locale</parameter></methodparam>
<methodparam><type>int</type><parameter>datetype</parameter></methodparam>
<methodparam><type>int</type><parameter>timetype</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>timezone</parameter><initializer>NULL</initializer></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>calendar</parameter><initializer>NULL</initializer></methodparam>
<methodparam choice="opt"><type>string</type><parameter>pattern</parameter><initializer>""</initializer></methodparam>
</constructorsynopsis>
<para>
&style.procedural;
</para>
<methodsynopsis>
<type>IntlDateFormatter</type><methodname>datefmt_create</methodname>
<methodparam><type>string</type><parameter>locale</parameter></methodparam>
<methodparam><type>int</type><parameter>datetype</parameter></methodparam>
<methodparam><type>int</type><parameter>timetype</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>timezone</parameter><initializer>NULL</initializer></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>calendar</parameter><initializer>NULL</initializer></methodparam>
<methodparam choice="opt"><type>string</type><parameter>pattern</parameter><initializer>""</initializer></methodparam>
</methodsynopsis>
<para>
Create a date formatter.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>locale</parameter></term>
<listitem>
<para>
Locale to use when formatting or parsing or &null; to use the value
specified in the ini setting <link
linkend="ini.intl.default-locale">intl.default_locale</link>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>datetype</parameter></term>
<listitem>
<para>
Date type to use (<constant>none</constant>, <constant>short</constant>,
<constant>medium</constant>, <constant>long</constant>,
<constant>full</constant>). This is one of the <link
linkend="intl.intldateformatter-constants">IntlDateFormatter
constants</link>. It can also be &null;, in which case ICUʼs default
date type will be used.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>timetype</parameter></term>
<listitem>
<para>
Time type to use (<constant>none</constant>, <constant>short</constant>,
<constant>medium</constant>, <constant>long</constant>,
<constant>full</constant>). This is one of the <link
linkend="intl.intldateformatter-constants">IntlDateFormatter
constants</link>. It can also be &null;, in which case ICUʼs default
time type will be used.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>timezone</parameter></term>
<listitem>
<para>
Time zone ID. The default (and the one used if &null; is given) is the
one returned by <function>date_default_timezone_get</function> or, if
applicable, that of the <classname>IntlCalendar</classname> object passed
for the <parameter>calendar</parameter> parameter. This ID must be a
valid identifier on ICUʼs database or an ID representing an
explicit offset, such as <literal>GMT-05:30</literal>.
</para>
<para>
This can also be an <classname>IntlTimeZone</classname> or a
<classname>DateTimeZone</classname> object.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>calendar</parameter></term>
<listitem>
<para>
Calendar to use for formatting or parsing. The default value is &null;,
which corresponds to <constant>IntlDateFormatter::GREGORIAN</constant>.
This can either be one of the
<link
linkend="intl.intldateformatter-constants.calendartypes">IntlDateFormatter
calendar constants</link> or an <classname>IntlCalendar</classname>. Any
<classname>IntlCalendar</classname> object passed will be clone; it will
not be changed by the <classname>IntlDateFormatter</classname>. This will
determine the calendar type used (gregorian, islamic, persian, etc.) and,
if &null; is given for the <parameter>timezone</parameter> parameter,
also the timezone used.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>pattern</parameter></term>
<listitem>
<para>
Optional pattern to use when formatting or parsing.
Possible patterns are documented at <link
xlink:href="&url.icu.datepattern;">&url.icu.datepattern;</link>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
The created <classname>IntlDateFormatter</classname> or &false; in case of
failure.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>5.5.0/PECL 3.0.0</entry>
<entry>
<para>
An <classname>IntlCalendar</classname> object is allowed for
<parameter>calendar</parameter>.
</para>
<para>
Objects of type <classname>IntlTimeZone</classname> and
<classname>DateTimeZone</classname> are allowed for
<parameter>timezone</parameter>.
</para>
<para>
Invalid timezone identifiers (including empty strings) are no longer
allowed for <parameter>timezone</parameter>.
</para>
<para>
If &null; is given for <parameter>timezone</parameter>, the timezone
identifier given by <function>date_default_timezone_get</function> will
be used instead of ICUʼs default.
</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title><function>datefmt_create</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles', IntlDateFormatter::GREGORIAN );
echo "First Formatted output is ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN );
echo "Second Formatted output is ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN ,"MM/dd/yyyy");
echo "First Formatted output with pattern is ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN ,"MM/dd/yyyy");
echo "Second Formatted output with pattern is ".datefmt_format( $fmt , 0);
?>
]]>
</programlisting>
</example>
<example>
<title>OO example</title>
<programlisting role="php">
<![CDATA[
<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN );
echo "First Formatted output is ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN );
echo "Second Formatted output is ".$fmt->format(0);
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN ,"MM/dd/yyyy");
echo "First Formatted output with pattern is ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN , "MM/dd/yyyy");
echo "Second Formatted output with pattern is ".$fmt->format(0);
?>
]]>
</programlisting>
</example>
&example.outputs;
<screen>
<![CDATA[
First Formatted output is Wednesday, December 31, 1969 4:00:00 PM PT
Second Formatted output is Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00
First Formatted output with pattern is 12/31/1969
Second Formatted output with pattern is 12/31/1969
]]>
</screen>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>datefmt_format</function></member>
<member><function>datefmt_parse</function></member>
<member><function>datefmt_get_error_code</function></member>
<member><function>datefmt_get_error_message</function></member>
</simplelist>
</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:"~/.phpdoc/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
-->