为什么我传入的时间无法输出

来源:2-1 实战自定义包(1)

懒猫12138

2020-07-21 11:27:53

import random
from datetime import datetime


def gen_trans_id(date=None):
   """
   根据我们传入的时间得到一个唯一的交易流水id
   :param date:日期
   :return:交易流水id
   """
   #如果没有传入时间,则使用系统当前时间
   if date is None:
       date = datetime.now()
       #怎么保证字符串的唯一
       #日期+时间+毫秒+随机数(6位随机数)
       return date.strftime("%Y%m%d%H%M%S%f") + str(random.randint(100000,999999))



from datetime import datetime

from trans.tools import gen_trans_id


def test_trans_tool():
   """测试trans包下的tool模块"""
   id1 = gen_trans_id()
   print(id1)
   date = datetime(2015, 10, 2, 12, 30, 45)
   id2 = gen_trans_id(date)
   print(id2)


if __name__ == '__main__':
   test_trans_tool()

写回答

2回答

好帮手慕乃馨

2020-07-21

同学,你好。在gen_trans_id()函数中,你只对date is None的情况进行了return,所以无论你给date传递什么值,if条件不成立都不会有返回值,可以调整一下return语句的缩进,让return语句在if判断后执行。

http://img.mukewang.com/climg/5f1666d509ac913c11130211.jpg

如果我的回答解决了您的疑惑,请采纳,祝学习愉快~~~~

0

0 学习 · 8160 问题

查看课程