Login   Register  
PHP Classes
elePHPant
Icontem

File: format.txt

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Pavel  >  Date Fmt  >  format.txt  >  Download  
File: format.txt
Role: Documentation
Content type: text/plain
Description: Brief format strings documentation
Class: Date Fmt
Format dates according to a format string
Author: By
Last change: added sample format strings.
Date: 3 years ago
Size: 3,939 bytes
 

Contents

Class file image Download
This is a brief format description of the DateFmt class; full reference is located at:
  http://proger.i-forge.net/DateFmt/cWq

== Sample format strings with produced results ==
  Now is D__, AT[d# of M__ y##] (h##ms).
  = Now is Thursday, 1 of July 2011 (08:14:33 PM).

  Last commit was AGO[d.h].
  = Last commit was 40 days 14 hours ago.

  It was on H#:m## A.M..
  = It was on 20:14 PM.

  This entry was posted AGO[*]AT D__, d# M__ y##.
  = This entry was posted 50 minutes ago at Thursday, 1 July 2011.

  This document was created on d#my.
  = This document was created on 12/01/2011.

  A diary post saying AT[d# m__ y##] in its top right corner.
  = A diary post saying 12 december 2012 in its top right corner.

  This reply was posted AGO[s-d]IF-FAR[on d#my]AT D__.
  = This reply was posted after 3 hours at Thursday.
  = This reply was posted on 10/08/2011 at Wednesday.

  Posted at d##-M_-y# h##m (AGO[h-y]_ since last post and AGO[*]_ before next reply).
  = Posted at 01-Jul-11 08:44 PM (half an hour since last post and 5 minutes before next reply).

== Simple format strings ==
  = d# or d## == day (9 or 09);
  = mo# or mo## == month (1 or 01) - note that it's "mo" instead of "m" which is
    used to specify minutes;
  = w# or w## == week number (2 or 02);
  = y# or y## == year (11 or 2011) - note that for year a single hash doesn't mean
    "pad to 1 digit" but "pad to 2 digits" as it makes no sense;
  = s# or s## == seconds (5 or 05);
  = m# or m## == minutes (2 or 02) - don't confuse with month which is "mo";
  = h# or h## == hours in 12-hour format (8 or 08) - character case makes it different from "H";
  = H# or H## == hours in 24-hour format (8 or 08).

=== Full date/time strings ===
  = d#my or d##my == 9.01.2011 or 09.01.2011;
  = d#m or d##m == without year: 9.01 or 09.01;
  = h#ms or h##ms == 2:08:50 or 02:08:50 - here unlike with H## character case of
    h doesn't mattern - whether to use 12-hour format or not is language-dependent anyway;
  = h#m or h##m == without seconds: 2:08 or 02:08.

=== Names ===
  = d_ or D_    == short day name (mon or Mon);
  = d~__ or D~__  == full day name (monday or Monday);
  = m_ or M_    == short month name (jan or Jan);
  = m~__ or M~__  == full month name (january or January).

== Relative time - [AGO] ==
Format:   AGO[ranges]
Or:       AGO-SHORT[ranges]
Example:  AGO[smhd]     => 1 hour ago

"ago" and "after" words can be suppressed by trailing underscore: AGO[ranges]_

=== Ranges ===
  1. s (seconds);
  1. m (minutes) or i - it's the same;
  1. h (hours);
  1. d (days);
  1. w (weeks);
  1. o (months) - m can also be used to specify months - for this it must have
     m somewhere before it ("smhdm"), be prefixed with either of d, b, w ("dm")
     or be followed by y ("my").
     * if you're having problems and m is mistaken for months instead of minutes use
       the alias of latter (i): AGO[id] specifies minutes and days.
  1. y (years).

==== Shortcut ranges ====
  = t implies time ranges: smh;
  = * implies all defined ranges:
  = b a special range that works exactly as d unless distance between 2 dates is
     3 days or shorter - in this case instead of robot-like "2 days ago" message
     "yesterday" will be output. It also works with future dates: after 0 days ->
     tomorrow, after 2 days -> day after tomorrow.

== IF-FAR[] and IF>n[] ==
Format:   AGO[ranges]IF-FAR[normal format]
Example:  AGO[smhd]IF>3[d#my, D__]    => 1 hour ago OR 01/12/2011

FAR is alias to IF>n for the following ranges:
  Complete list of ((#ranges range)) -> FAR numbers:
  = s 60
  = m 60
  = h 24
  = d (b) == 30
  = w 4
  = m 12
  = y == Cannot be used - an ((#exception+s)) is thrown.

  IF can be also used in following combinations:
  1. AGO[...]IF[...]
  1. AGO-AT[...]IF[...]
  1. AGO-SHORT[...]IF[...]
  1. AGO-SHORT-AT[...]IF[...]