pollita         Tue Dec 31 14:18:14 2002 EDT

  Modified files:              
    /phpdoc/en/reference/datetime/functions     strftime.xml 
  Log:
  Per multiple "bug" reports of misunderstanding use of %G and %V, added example 
showing week numbers for 2002/2003 (week forward) and 2004/2005 (week backward).
  
  
Index: phpdoc/en/reference/datetime/functions/strftime.xml
diff -u phpdoc/en/reference/datetime/functions/strftime.xml:1.4 
phpdoc/en/reference/datetime/functions/strftime.xml:1.5
--- phpdoc/en/reference/datetime/functions/strftime.xml:1.4     Tue Nov 26 15:41:08 
2002
+++ phpdoc/en/reference/datetime/functions/strftime.xml Tue Dec 31 14:18:14 2002
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.4 $ -->
+<!-- $Revision: 1.5 $ -->
 <!-- splitted from ./en/functions/datetime.xml, last change in rev 1.2 -->
   <refentry id="function.strftime">
    <refnamediv>
@@ -242,7 +242,7 @@
       </para>
      </note>
      <example>
-      <title><function>strftime</function> example</title>
+      <title><function>strftime</function> locale examples</title>
       <programlisting role="php">
 <![CDATA[
 setlocale (LC_TIME, "C");
@@ -258,6 +258,66 @@
      </example>
      This example works if you have the respective locales installed
      in your system.
+     <note>
+      <simpara>
+       %G and %V, which are based on ISO 8601:1988 week numbers can
+       give unexpected (albiet correct) results if the numbering system 
+       is not thoroughly understood.  See %V above and example below.
+      </simpara>
+     </note>
+     <example>
+      <title>ISO 8601:1988 week number example</title>
+      <programlisting role="php">
+<![CDATA[
+<?php
+/*     December 2002 / January 2003
+ISOWk  M   Tu  W   Thu F   Sa  Su
+----- ----------------------------
+51     16  17  18  19  20  21  22 
+52     23  24  25  26  27  28  29
+1      30  31   1   2   3   4   5
+2       6   7   8   9  10  11  12
+3      13  14  15  16  17  18  19   */
+
+// Outputs: 12/28/2002 - %V,%G,%Y = 52,2002,2002
+print "12/28/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/28/2002")) . 
+"\n";
+
+// Outputs: 12/30/2002 - %V,%G,%Y = 1,2003,2002
+print "12/30/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/30/2002")) . 
+"\n";
+
+// Outputs: 1/3/2003 - %V,%G,%Y = 1,2003,2003
+print "1/3/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2003")) . "\n";
+
+// Outputs: 1/10/2003 - %V,%G,%Y = 2,2003,2003
+print "1/10/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/10/2003")) . "\n";
+
+
+
+/*     December 2004 / January 2005
+ISOWk  M   Tu  W   Thu F   Sa  Su
+----- ----------------------------
+51     13  14  15  16  17  18  19
+52     20  21  22  23  24  25  26
+53     27  28  29  30  31   1   2
+1       3   4   5   6   7   8   9
+2      10  11  12  13  14  15  16   */
+
+// Outputs: 12/23/2004 - %V,%G,%Y = 52,2004,2004
+print "12/23/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/23/2004")) . 
+"\n";
+
+// Outputs: 12/31/2004 - %V,%G,%Y = 53,2004,2004
+print "12/31/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/31/2004")) . 
+"\n";
+
+// Outputs: 1/2/2005 - %V,%G,%Y = 53,2004,2005
+print "1/2/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/2/2005")) . "\n";
+
+// Outputs: 1/3/2005 - %V,%G,%Y = 1,2005,2005
+print "1/3/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2005")) . "\n";
+
+?>
+]]>
+      </programlisting>
+     </example>
     </para>
     <para>
      See also <function>setlocale</function> and



-- 
PHP Documentation Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to