h1. EZTime
h2. Installation
script/plugin install git@github.com:scharfie/eztime.git
EZTime
is a simple extension to the Date
class in Ruby to provide easy formatting of dates and times.
h2. Can’t I just use strftime?
h3. Feature Support
EZTime
has a number of formatting features not available to strftime. For example, what if you want to display the ordinal (st, nd, rd, th) for a date? (i.e. 1st, 2nd, etc.) With EZTime
, ordinals are easy.
How about displaying the meridian (AM/PM) in lowercase? What about only displaying the first letter (a/p)? While strftime is powerful, there are simply some formatting options not available, which is a shame.
h3. Simplicity
EZTime
is much easier to use than strftime because it doesn’t require much memorization. For example, isn’t @:month/:day/:year@ easier than @%m/%d/%Y@ ?
Not convinced? How about @:day:ordinal of :month_name, :year@ (_i.e. 20th of December, 2003_).
h3. Extensibility
Perhaps the strongest feature of EZTime
is that it can be “extended” by simply adding new methods to the EZTime
module. The reason this works is because EZTime
eval’s the formatting string after a simple substitution, replacing the :name with a method call to that name. The upside to this is that everything you put in the formatting string can be accessed by itself as a method call.
h3. Formatting variants
Certain methods have one or more variants, all following a standard convention:
-
‘z’: (prefix) element will include a leading 0 digit
-
‘l’: (prefix) (lowercase L): element will be converted to all lowercase
-
‘s’: (prefix) small variants. For example, smeridian will return ‘A’ or ‘P’
-
‘12’: (suffix): element will be in 12-hour format
See the documentation for the various methods for examples of these modifiers.
h3. Known Issues
Currently, using quotes or apostrophes in an EZTime
format string is not supported - it results in compile errors. If there is a need for either of these characters, however, I will look into correcting the situation.
h2. Credits
EZTime
was created by Chris Scharf (tiny.scharfie.com)