X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/12a8febabf1d5fe90d7c623377507d28a0f0fc80..8ce2a7db5c4ea48a342b665385a54514c79d30bb:/luatz/timetable.lua diff --git a/luatz/timetable.lua b/luatz/timetable.lua index e1649a0..10af170 100644 --- a/luatz/timetable.lua +++ b/luatz/timetable.lua @@ -1,3 +1,4 @@ +local strftime = require "luatz.strftime".strftime local strformat = string.format local floor = math.floor local function idiv ( n , d ) @@ -143,6 +144,10 @@ function timetable_methods:rfc_3339 ( ) return strformat ( "%04u-%02u-%02uT%02u:%02u:%06.3f" , self:unpack ( ) ) end +function timetable_methods:strftime ( format_string ) + return strftime ( format_string , self ) +end + local timetable_mt local function coerce_arg ( t ) @@ -156,10 +161,13 @@ timetable_mt = { __index = timetable_methods ; __tostring = timetable_methods.rfc_3339 ; __eq = function ( a , b ) - return coerce_arg ( a ) == coerce_arg ( b ) + return a:timestamp ( ) == b:timestamp ( ) end ; __lt = function ( a , b ) - return coerce_arg ( a ) < coerce_arg ( b ) + return a:timestamp ( ) < b:timestamp ( ) + end ; + __sub = function ( a , b ) + return coerce_arg ( a ) - coerce_arg ( b ) end ; }