]>
git.madduck.net Git - etc/awesome.git/blobdiff - luatz/timetable.lua
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
local strftime = require "luatz.strftime".strftime
local strformat = string.format
local floor = math.floor
local strftime = require "luatz.strftime".strftime
local strformat = string.format
local floor = math.floor
-local function idiv ( n , d )
- return floor ( n / d )
+local idiv do
+ -- Try and use actual integer division when available (Lua 5.3+)
+ local idiv_loader = (loadstring or load)([[return function(n,d) return n//d end]], "idiv") -- luacheck: ignore 113
+ if idiv_loader then
+ idiv = idiv_loader()
+ else
+ idiv = function(n, d)
+ return floor(n/d)
+ end
+ end
tens = tens + idiv ( units , base )
units = units % base
elseif units < 0 then
tens = tens + idiv ( units , base )
units = units % base
elseif units < 0 then
- tens = tens - 1 + idiv ( - units , base )
- units = base - ( -units % base )
+ tens = tens + idiv ( units , base )
+ units = ( base + units ) % base
end
return tens , units
end
end
return tens , units
end
end
function timetable_methods:rfc_3339 ( )
end
function timetable_methods:rfc_3339 ( )
- local year , month , day , hour , min , sec = self:unpack ( )
- local sec , msec = borrow ( sec , 0 , 1000 )
+ local year, month, day, hour, min, fsec = self:unpack()
+ local sec, msec = borrow(fsec, 0, 1000)
+ msec = math.floor(msec)
return strformat ( "%04u-%02u-%02uT%02u:%02u:%02d.%03d" , year , month , day , hour , min , sec , msec )
end
return strformat ( "%04u-%02u-%02uT%02u:%02u:%02d.%03d" , year , month , day , hour , min , sec , msec )
end