📄 otime.py
字号:
## Copyright (c) 2005, John Mettraux, OpenWFE.org# All rights reserved.# # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met:# # . Redistributions of source code must retain the above copyright notice, this# list of conditions and the following disclaimer. # # . Redistributions in binary form must reproduce the above copyright notice, # this list of conditions and the following disclaimer in the documentation # and/or other materials provided with the distribution.# # . Neither the name of the "OpenWFE" nor the names of its contributors may be# used to endorse or promote products derived from this software without# specific prior written permission.# # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE.## $Id: otime.py 1931 2005-07-07 07:39:47Z jmettraux $#""" some time methods"""import time import stringTIME_FORMAT = '%Y-%m-%d %H:%M:%S'#Z_TIME_FORMAT = '%Y-%m-%d %H:%M:%S%Z'def currentTimeMillis (): """ equivalent of the java method System.currentTimeMillis() returns the count of milliseconds since the epoch """ return long(time.time() * 1000)def _hts (h): """ turns a string like '-0200' into -7200 """ sn = +1 if h[0:1] == '-': sn = -1 h = h[1:] m = h[2:] h = h[0:2] s = sn * (int(h)*3600 + int(m)*60) return sdef _sth (s): """ seconds to hours (and minutes) """ m = s / 60 h = m / 60 m = m % 60 sign = +1 if (s < 0): sign = -1 h = -h m = -m return (sign, h, m)def _getTz (): """ returns the local timezone as a string like '-0200' """ sn, h, m = _sth(time.altzone) if sn < 0: sn = '+' else: sn = '-' return '%s%s%s' % (sn, string.zfill(h, 2), string.zfill(m, 2))def now (): """ returns the current time expressed as an ISO date """ s = time.strftime(TIME_FORMAT, time.localtime()) return "%s%s" % (s, _getTz())def toPyTime (isoDate): """ turns an iso date into a python date tuple """ zone = isoDate[-5:] isoDate = isoDate[:-5] tz = -int(zone)/100 year, month, day, hour, minute, second, a, b, c = \ time.strptime(isoDate, TIME_FORMAT) return (year, month, day, hour, minute, second, 1, 0, tz)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -