• Informatica调度时间monthly_logic、weekly_logic解析


    1. def trans(logic):
    2. if logic < 0:
    3. logic += 2 * 2147483648
    4. return bin(logic)[2:].zfill(32)
    5. def trans_month(logic_str):
    6. if logic_str[-1]=='1':
    7. a = [x + 1 for x in range(0, 31)]
    8. b = [x == '1' for x in logic_str[:-1]]
    9. print('每月%s号'%(','.join([str(x) for x, y in zip(a, b[::-1]) if y])))
    10. else:
    11. a = [x + 1 for x in range(0,4)]+['最后一']
    12. b = [x == '1' for x in logic_str[-6:-1]]
    13. x=','.join([str(x) for x, y in zip(a, b[::-1]) if y])
    14. a = [x + 1 for x in range(0, 7)]
    15. b = [x == '1' for x in logic_str[-23:-16]]
    16. y=','.join([str(x) for x, y in zip(a, b[::-1]) if y])
    17. print('每月第%s周的周%s' % (x,y))
    18. def trans_week(logic_str):
    19. a = [x + 1 for x in range(0, 7)]
    20. b = [x == '1' for x in logic_str[-23:-16]]
    21. print('每周%s' % (','.join([str(x) for x, y in zip(a, b[::-1]) if y])))
    22. for logic in(-536870909,15,1073741837,1073741839,-1073741809,-1073741811,45,1048586,131116,262188):
    23. logic_str=trans(logic)
    24. trans_month(logic_str)
    25. for logic in(6488064,1441792):
    26. logic_str=trans(logic)
    27. trans_week(logic_str)

    原始数据

    monthly_logic
    11100000000000000000000000000011
    每月1/29/30/31号 -536870909
    00000000000000000000000000001111
    每月1/2/3号 15
    01000000000000000000000000001101
    每月2/3/30号 1073741837
    01000000000000000000000000001111
    每月1/2/3/30号 1073741839
    11000000000000000000000000001111
    每月1/2/3/30/31号 -1073741809
    11000000000000000000000000001101
    每月2/3/30/31号 -1073741811
    00000000000000000000000000101101
    每月2/3/5号 45

    00000000000100000000000000001010
    每月第1/3个周5 1048586
    00000000000000100000000000101100
    每月第2/3/最后一个周2 131116
    00000000000001000000000000101100
    每月第2/3/最后一个周3 262188


    weekly_logic
    00000000011000110000000000000000
    每周1/2/6/日 6488064
    00000000000101100000000000000000
    每周2/3/5 1441792

  • 相关阅读:
    Adobe Illustrator 2021 下载及安装教程
    Mybatis 动态SQL – 使用trim标签替代where,set标签
    22. 括号生成
    从业务性能角度思考 React 组件的更新方式
    Java8 函数式编程stream流
    基于微信小程序的日语学习的系统,附源码
    Mac安装brew及前端环境「亲测有效」
    35-Git
    Redis - 基础数据类型
    简明易懂:Python中的分支与循环
  • 原文地址:https://blog.csdn.net/u013760453/article/details/126710042