给定一个时间,怎样查询30分钟内的数据,时间格式14位的

给定一个时间,怎样查询30分钟内的数据,时间格式14位的,搜了好多都是当前时间的

你的意思是从这个时间开始往前30分钟还是往后30分钟还是之前之后各30分钟?

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7692158
  • 除此之外, 这篇博客: 【分布式数据库技术】相关知识概述中的 28. 把数据从硬盘读写处理,改为内存处理,是属于什么类型的扩展? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    1. 纵向扩展👌
    2. 把大数据放在不同服务器的内存上进行处理 是 横向扩展
  • 您还可以看一下 吴刚老师的【吴刚】简历包装与面试技巧视频教程课程中的 30-图形、图像及文字在画面中的比例关系配置小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    根据问题描述,你想要使用特定的时间查询过去30分钟内的数据。时间格式为14位。下面是解决方案的步骤:

    1. 获取当前时间
    2. 将当前时间减去30分钟得到查询的起始时间
    3. 将起始时间转换成14位的时间格式
    4. 使用转换后的起始时间作为查询条件,查询数据

    下面是使用Python实现的代码示例:

    from datetime import datetime, timedelta
    
    # 获取当前时间
    current_time = datetime.now()
    
    # 计算查询的起始时间
    start_time = current_time - timedelta(minutes=30)
    
    # 将起始时间转换为14位的时间格式
    start_time_str = start_time.strftime('%Y%m%d%H%M%S')
    
    # 使用转换后的起始时间作为查询条件,查询数据
    query = "SELECT * FROM your_table WHERE time >= '{}'".format(start_time_str)
    
    # 打印查询语句
    print(query)
    

    将代码中的your_table替换为你实际的表名,执行代码后会输出查询语句,你可以使用该查询语句在数据库中查询过去30分钟内的数据。

    请注意,上述代码是Python的示例,如果你使用的是其他编程语言,可以根据类似的逻辑实现相应的代码。另外,根据你提供的参考资料,没有与问题直接相关的内容,以上解决方案是根据问题描述独立给出的。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

我不知道你提供的是那种环境背景;
我是java开发,如果结合java和MySQL的话可以这样操作:
首先,在Java中创建一个表示当前时间的java.time.LocalDateTime对象,然后使用它的minusMinutes方法来获得30分钟前的时间:

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
LocalDateTime now = LocalDateTime.now();
String nowStr = now.format(dtf);

LocalDateTime thirtyMinutesBefore = now.minusMinutes(30);
String thirtyMinutesBeforeStr = thirtyMinutesBefore.format(dtf);
之后,将这两个时间字符串用于你的SQL查询。你可以使用PreparedStatement来避免SQL注入攻击。例如:

String sql = "SELECT * FROM your_table WHERE your_time_column BETWEEN ? AND ?";

PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, thirtyMinutesBeforeStr);
pstmt.setString(2, nowStr);

ResultSet rs = pstmt.executeQuery();
这里的conn是你的数据库连接对象。如果你还没有连接到数据库,你需要先创建这个连接。your_table和your_time_column需要替换成你实际的表名和时间列名。

在执行查询后,rs将包含查询结果。你可以通过遍历这个ResultSet来处理你的数据。

假设你是用纯粹的SQL进行操作,那MySQL的例子如下:
SELECT *
FROM your_table
WHERE your_time_column
BETWEEN DATE_SUB(STR_TO_DATE('20230705123000', '%Y%m%d%H%i%s'), INTERVAL 30 MINUTE)
AND STR_TO_DATE('20230705123000', '%Y%m%d%H%i%s');