Discuss / Python / 学了面向对象,就要强迫一下自己,试图一切写成类

学了面向对象,就要强迫一下自己,试图一切写成类

Topic source

from datetime import datetime, timedelta, timezone
import re
timeStr = '2015-1-21 9:01:30'
altZone = 'UTC+5:00'
class TransTimeStamp(object):
    def __init__(self,timestr,altzone):
        self.timestr = timeStr
        self.altzone = altZone
    def _str2datetime(self):
        return datetime.strptime(self.timestr,'%Y-%m-%d %H:%M:%S')
    def _getAltZoneValue(self):
        expr = R'UTC([\+\-])(\d+):(\d{2})'
        m = re.match(expr,self.altzone)        
        t = int(m.group(2))+float(m.group(3))/60
        if m.group(1) == '-':
            t = -t
        return t
    def getTimeStamp(self):
        t = self._getAltZoneValue()
        mydatetime = self._str2datetime()
        tz_utc = timezone(timedelta(hours=t))
        mydatetime.replace(tzinfo=tz_utc)
        return mydatetime.timestamp()
ts = TransTimeStamp(timeStr,altZone)
print(ts.getTimeStamp())

  • 1

Reply