From c513b908dcaf8073345eb501709cd53ce444edf8 Mon Sep 17 00:00:00 2001 From: "Kenneth Benzie (Benie)" Date: Sun, 8 Jan 2017 11:51:06 +0000 Subject: [PATCH] Add utc date time snippet --- UltiSnips/all.snippets | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/UltiSnips/all.snippets b/UltiSnips/all.snippets index 61df455..2fd18b9 100644 --- a/UltiSnips/all.snippets +++ b/UltiSnips/all.snippets @@ -24,14 +24,44 @@ def commentafter(): return '' import datetime +import time + def date(): return datetime.datetime.now().strftime('%B %d, %Y') + +class LocalTZ(datetime.tzinfo): + """Query OS for local timezone offset.""" + + def __init__(self): + """Initialize LocalTZ.""" + datetime.tzinfo.__init__(self) + self._unixEpochOrdinal = datetime.datetime.utcfromtimestamp( + 0).toordinal() + + def dst(self, _): + return datetime.timedelta(0) + + def utcoffset(self, dt): + t = ((dt.toordinal() - self._unixEpochOrdinal) * 86400 + dt.hour * 3600 + + dt.second + time.timezone) + utc = datetime.datetime(*time.gmtime(t)[:6]) + local = datetime.datetime(*time.localtime(t)[:6]) + return local - utc + +def utc(): + value = datetime.datetime.strftime( + datetime.datetime.now(LocalTZ()), '%Y-%m-%dT%H:%M:%S%z') + return '%s:%s' % (value[:-2], value[-2:]) endglobal snippet date "Today's date" `!p snip.rv=date()` endsnippet +snippet utc "UTC date time now" i +`!p snip.rv=utc()` +endsnippet + snippet todo "TODO commment" `!p snip.rv=commentbefore()`TODO${1/.+/(/}$1${1/.+/)/}: $0`!p snip.rv=commentafter()` endsnippet