鱼C论坛

 找回密码
 立即注册
查看: 1574|回复: 5

[已解决]如何判断是否到了次日

[复制链接]
发表于 2021-7-11 16:02:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
假如规定我在此时此刻的操作次数已经到达了上限,只有在次日0时0分0秒后才可继续操作或重新操作,如何判断是否到了次日。
最佳答案
2021-7-11 16:07:26
本帖最后由 青出于蓝 于 2021-7-12 10:44 编辑

time.strftime()
  1. import time
  2. c=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())[:10]#获取当天日期
  3. while True:
  4.     if  time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())[:10]!=c:
  5.         print(‘已经到了次日’)
复制代码

欢迎追问
问题已经解决请设置最佳
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-11 16:07:26 | 显示全部楼层    本楼为最佳答案   
本帖最后由 青出于蓝 于 2021-7-12 10:44 编辑

time.strftime()
  1. import time
  2. c=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())[:10]#获取当天日期
  3. while True:
  4.     if  time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())[:10]!=c:
  5.         print(‘已经到了次日’)
复制代码

欢迎追问
问题已经解决请设置最佳
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-11 16:10:22 | 显示全部楼层
  1. >>> import time
  2. >>> time_now = time.localtime(time.time())
  3. >>> time_now
  4. time.struct_time(tm_year=2021, tm_mon=7, tm_mday=11, tm_hour=16, tm_min=9, tm_sec=7, tm_wday=6, tm_yday=192, tm_isdst=0)
  5. >>> time_now.tm_year
  6. 2021
  7. >>> time_now.tm_mon
  8. 7
  9. >>> time_now.tm_mday
  10. 11
  11. >>>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-11 16:14:35 | 显示全部楼层
请给出代码示例
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-11 16:17:07 | 显示全部楼层

比如集五福活动,规定单日内最高只能获取福卡10张,若想继续集五福,则需要等到次日0时0分0秒后。

  1. # coding:utf-8

  2. """
  3. 集五福,迎新春
  4. """
  5. import random
  6. from datetime import datetime


  7. class Chances(object):
  8.     list_chance = []

  9.     def __init__(self):
  10.         for i in range(0, 90):
  11.             self.list_chance.append(0)
  12.         for i in range(0, 5):
  13.             self.list_chance.append(1)
  14.         for i in range(0, 3):
  15.             self.list_chance.append(2)
  16.         self.list_chance.append(3)
  17.         self.list_chance.append(4)


  18. class Blessings(Chances):
  19.     # now = datetime.now()
  20.     cards = 0
  21.     money = 0
  22.     _blessings = 0
  23.     happy = {
  24.         "1": {"name": "富强福", "num": 0},
  25.         "2": {"name": "和谐福", "num": 0},
  26.         "3": {"name": "友善福", "num": 0},
  27.         "4": {"name": "爱国福", "num": 0},
  28.         "5": {"name": "敬业福", "num": 0}
  29.     }

  30.     def draw(self, start):
  31.         if isinstance(start, str):
  32.             number = random.randint(1, 5)
  33.             for k, v in self.happy.items():
  34.                 if str(number) == k:
  35.                     v["num"] = v["num"] + 1
  36.                     self.cards += 1
  37.                     print("获取到: {}".format(v["name"]))

  38.     # 规定每天获取到的福字卡片总数不得超过十张
  39.     def check_blessings(self):
  40.         if self.cards > 9:
  41.             print('=' * 20)
  42.             raise Exception('每日最多可获取{}张福'.format(self.cards))

  43.     def show(self):
  44.         print("当前拥有的福:")
  45.         for k, v in self.happy.items():
  46.             print(v["name"], ":", v["num"])

  47.     def service_list(self):
  48.         service_list = {
  49.             1: '按下<Enter>键集五福',
  50.             2: '按下<s>键查看获取福字',
  51.             3: '按下<c>合成五福',
  52.             4: '按下<d>抽红包',
  53.             5: '按下<q>退出'
  54.         }
  55.         for k, v in service_list.items():
  56.             print(v)

  57.     def cheak(self):
  58.         for k, v in self.happy.items():
  59.             if v['num'] > 0:
  60.                 flag = True
  61.             else:
  62.                 flag = False
  63.                 break
  64.         return flag

  65.     def collect(self):
  66.         if self.cheak():
  67.             self._blessings += 1
  68.             print('当前合成{}张五福'.format(self._blessings))
  69.             for k, v in self.happy.items():
  70.                 v['num'] -= 1
  71.         else:
  72.             print('当前合成{}张五福'.format(self._blessings))
  73.             for k, v in self.happy.items():
  74.                 if v['num'] == 0:
  75.                     print('缺少{}'.format(v['name']))
  76.             print('你的福不足!')
  77.             print('=' * 20)

  78.     def draw_cash(self):
  79.         if self._blessings > 0:
  80.             money_flag = random.choice(self.list_chance)
  81.             if money_flag == 0:
  82.                 _money = random.randint(1, 5)
  83.             elif money_flag == 1:
  84.                 _money = random.randint(1000, 1999)
  85.             elif money_flag == 2:
  86.                 _money = random.randint(2000, 4999)
  87.             elif money_flag == 3:
  88.                 _money = random.randint(5000, 9999)
  89.             elif money_flag == 4:
  90.                 _money = random.randint(10000, 20000)
  91.             print('抽中红包金额{}'.format(_money))
  92.             self.money += _money
  93.             print('红包总金额{}'.format(self.money))
  94.             self._blessings -= 1
  95.         else:
  96.             print('五福不足!')
  97.             print('=' * 20)

  98.     def run(self):
  99.         while True:
  100.             self.service_list()
  101.             start = input("请选择:")
  102.             if start == '':
  103.                 if self.cards < 10:
  104.                     self.draw(start)
  105.                 else:
  106.                     try:
  107.                         self.check_blessings()
  108.                     except Exception as e:
  109.                         print(e)
  110.                 print('=' * 20)
  111.             elif start == 's':
  112.                 self.show()
  113.                 print('=' * 20)
  114.             elif start == 'c':
  115.                 print('=' * 20)
  116.                 self.collect()
  117.             elif start == 'q':
  118.                 print('感谢使用,再见!')
  119.                 print('=' * 20)
  120.                 break
  121.             elif start == 'd':
  122.                 print('=' * 20)
  123.                 self.draw_cash()
  124.             else:
  125.                 print('输入有误,重新输入!')
  126.                 print('=' * 20)


  127. if __name__ == '__main__':
  128.     b = Blessings()
  129.     b.run()
  130.     # print(b.now)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-11 18:11:04 | 显示全部楼层
datetime, 然后用时间戳的等于(不等于)判断即可
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-1 21:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表