Introduction
Sometimes you might come across unusual Date/Time formats that the fuzzy date/time parser does not recognize. This article shows how to handle one such example — you can easily adapt the example for your own use.
If you have any questions please contact us at support@interfaceware.com.
Task [top]
How to handle unusual Date/Time formats that the date/time parser does not recognize.
Implementation [top]
Just recently I came across unusual (for HL7) Date/Time timestamp.
Example: 08/03 2011 11:54
i.e., dd/mm YYYY HH:MM
Here is simple way to handle it:

We use two extensions to string library, string:zfill() and string:tokenize(), both added to the shared dateutil Module.

Last but not least – the code snippets 🙂
main:
require 'dateutil' local function WeirdDateTime(s) local t t = s:tokenize() return t[3].. t[2]:zfill(2).. t[1]:zfill(2).. t[4]:zfill(2).. t[5]:zfill(2) end function main() s = '8/3 2010 11.34' dt = WeirdDateTime(s) end
dateutil:
function string.tokenize(self)
t = {}
for w in string.gmatch(self, "(%w+)" ) do
t[#t+1] = w
end
return t
end
function string.zfill(self,n)
local R = n
local L = #self
if L < R then
self = '0'..self
self:zfill(R)
else
z = self
end
return z
en