def checkDate(self, date): localTime = time.localtime() localDate = '%04d-%02d-%02d' % (localTime.tm_year, localTime.tm_mon, localTime.tm_mday) # 获得当前时间时间戳 currentTimeStamp = int(time.time()) # 预售时长的时间戳 deltaTimeStamp = '2505600' # 截至日期时间戳 deadTimeStamp = currentTimeStamp + int(deltaTimeStamp) # 获取预售票的截止日期时间 deadTime = time.localtime(deadTimeStamp) deadDate = '%04d-%02d-%02d' % (deadTime.tm_year, deadTime.tm_mon, deadTime.tm_mday) # print(Colored.red('请注意合理的乘车日期范围是:{} 至 {}'.format(localDate, deadDate))) # 判断输入的乘车时间是否在合理乘车时间范围内 # 将购票日期转换为时间数组 trainTimeStruct = time.strptime(date, "%Y-%m-%d") # 转换为时间戳: trainTimeStamp = int(time.mktime(trainTimeStruct)) # 将购票时间修改为12306可接受格式 ,如用户输入2018-8-7则格式改为2018-08-07 trainTime = time.localtime(trainTimeStamp) trainDate = '%04d-%02d-%02d' % (trainTime.tm_year, trainTime.tm_mon, trainTime.tm_mday) # 比较购票日期时间戳与当前时间戳和预售截止日期时间戳 if currentTimeStamp <= trainTimeStamp and trainTimeStamp <= deadTimeStamp: return True, trainDate else: print( Colored.red('Error:您输入的乘车日期:{}, 当前系统日期:{}, 预售截止日期:{}'.format( trainDate, localDate, deadDate))) return False, None
def redColor(self, str): return Colored.red(str)
def inputStation(self, str): station = input('{}:\n'.format(str)) if not station in StationCodes().getCodesDict().keys(): print(Colored.red('Error:车站列表里无法查询到{}'.format(station))) station = input('{}:\n'.format(str)) return station