Hi, Yitz! Your example puts scattered around pieces in place, thanks a lot!
On Wed, Jun 15, 2011 at 9:49 AM, Yitzchak Gale <[email protected]> wrote: > Dmitri O.Kondratiev wrote: > > It would also help to see a simple example of parsing "10/11/2009 7:04:28 > > PM" to time and date objects. > > Let's assume that 10/11/2009 means October 11, as in the U.S. > Then you can use: > > import System.Locale (defaultTimeLocale) > import Data.Time > > thatMoment :: Maybe UTCTime > thatMoment = parseTime defaultTimeLocale "%m/%d/%Y %l:%M:%S %p" > "10/11/2009 7:04:28 PM" > > Then use diffUTCTime to subtract two UTCTime and > get the amount of time between them. The resulting object > can then be used as if it is a regular floating point number > in units of seconds, or you can use the functions in Data.Time > that treat it specially as an amount of time. > > There are many options for the format string and locale that will > affect how the date is parsed - the order of month and day, > leading zeros or leading spaces, upper case or lower case AM or PM > (or 24-hour clock), etc. You can also get different behavior on > parsing failure by using readTime or readsTime instead of parseTime. > > For details, see: > > > http://www.haskell.org/ghc/docs/7.0.3/html/libraries/time-1.2.0.3/Data-Time-Format.html > > http://www.haskell.org/ghc/docs/7.0.3/html/libraries/old-locale-1.0.0.2/System-Locale.html#t:TimeLocale > > http://www.haskell.org/ghc/docs/7.0.3/html/libraries/old-locale-1.0.0.2/src/System-Locale.html#TimeLocale > > As an example of modifying the locale, let's say you want to use "a" and > "p" > instead of "AM" and "PM", as is customary in some parts of the world. > Then you can say: > > myLocale = defaultTimeLocale {amPm = ("a","p")} > > and then use myLocale instead of defaultTimeLocale. > > Hope this helps, > Yitz >
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
