当前位置: 首页 > news >正文

蓝桥杯 Python组-神奇闹钟(datetime库)

神奇闹钟

传送门:  0神奇闹钟 - 蓝桥云课​​​​​​

问题描述

小蓝发现了一个神奇的闹钟,从纪元时间(1970 年  11 日 00:00:00)开始,每经过 x 分钟,这个闹钟便会触发一次闹铃 (纪元时间也会响铃)。这引起了小蓝的兴趣,他想要好好研究下这个闹钟。

对于给出的任意一个格式为 уууу-MM-ddHH:mm:ss 的时间,小蓝想要知道在这个时间点之前 (包含这个时间点) 的最近的一次闹铃时间是哪个时间?

注意,你不必考虑时区问题。

输入格式

输入的第一行包含一个整数 T,表示每次输入包含 T 组数据。

接下来依次描述 T 组数据。

每组数据一行,包含一个时间(格式为 уууу-MM-ddHH:mm:ss)和一个整数 xx,其中 xx 表示闹铃时间间隔(单位为分钟)。

输出格式

输出 T 行,每行包含一个时间(格式为 уууу-MM-ddHH:mm:ss),依次表示每组数据的答案。

样例输入

2
2016-09-07 18:24:33 10
2037-01-05 01:40:43 30

样例输出

2016-09-07 18:20:00
2037-01-05 01:30:00

评测用例规模与约定

对于所有评测用例,1≤T≤10,1≤x≤1000,保证所有的时间格式都是合法的。

这道题是第十五届b组的真题

这个问题确实很简单,就是非常朴素的模拟,甚至没有一点变化,只不过就是代码这块要注意一下,就是需要会用datetime的一些基本的东西就行了

datetime库

datetime 库主要有以下几个核心组件:

  1. datetime.datetime

    • 用于表示日期和时间的组合,包含年、月、日、时、分、秒、微秒等信息。
    • 常用于时间的表示和操作。
  2. datetime.date

    • 只包含日期(年、月、日),不包含时间部分。适用于只关心日期的场景。
  3. datetime.time

    • 只包含时间(时、分、秒、微秒),不包含日期部分。适用于只关心时间的场景。
  4. datetime.timedelta

    • 表示两个日期或时间之间的差值,通常用于日期和时间的加减运算。它可以表示天、秒、微秒、小时、分钟、月、年等时间单位。
  5. datetime.tzinfo

    • 用于表示时区信息,虽然这个功能在常见的用例中不常用,但它对时区的处理和转换很重要。

代码

import os
import sys
import datetime
#1970 1 1 0:0:0ist = datetime.datetime(1970, 1, 1, 0, 0, 0)t = int(input())
for i in range(t):date, time, d = map(str,input().split())ed = datetime.datetime(int(date[0:4]), int(date[5:7]), int(date[8:10]), int(time[0:2]), int(time[3:5]), int(time[6:8]))cur = istd = int(d)x = datetime.timedelta(minutes = d)while cur <= ed:cur += xif cur > ed:cur -= xprint(cur)

加油

http://www.lryc.cn/news/477845.html

相关文章:

  • 解决阿里云三个月证书过期 免费SSL证书部署教程
  • VBA03-变量
  • docker-ce-stable‘ 下载元数据失败 : Cannot download repomd.xml: Cannot download
  • C中定义字符串有下列几种形式
  • 写一个小日历
  • 【数据库】elasticsearch
  • Rust 构建 TCP/UDP 网络服务
  • docker镜像文件导出导入
  • ViT面试知识点
  • ChatGPT 和 RAG(检索增强生成)的区别;ChatGPT 和 RAG 的联系
  • qt获取本机IP和定位
  • CodeQL学习笔记(5)-CodeQL for Java(AST、元数据、调用图)
  • 服装品牌零售业态融合中的创新发展:以开源 AI 智能名片 S2B2C 商城小程序为视角
  • 前端将网页转换为pdf并支持下载与上传
  • Android 依赖统一配置管理(Version Catalogs)
  • 如何为数据看板产品接入实时行情接口并展示行情
  • 数据结构 C/C++(实验一:线性表)
  • 使用WebStorm开发Vue3项目
  • Linux高阶——1103——Signal信号机制
  • 如何编写STM32的定时器程序
  • 【C++】C++的单例模式、跟踪内存分配的简单方法
  • 构建一个导航栏web
  • 【Linux】Linux安全与密钥登录指南
  • 数据采集之scrapy框架
  • ReactPress—基于React的免费开源博客CMS内容管理系统
  • Android 解决飞行模式下功耗高,起伏波动大的问题
  • 2024第三次随堂测验参考答案
  • 期权交易策略 v0.1
  • pytorch学习:矩阵分解:奇异值分解(SVD分解)
  • 接口测试用例设计的关键步骤与技巧解析!