用php在mysql中,如何截取最大日期和最小日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用php在mysql中,如何截取最大日期和最小日期相关的知识,希望对你有一定的参考价值。

mysql中,某字段的类型是date,现在想从这个字段中截取最大的日期和最小的日期。

请问那位高手可以帮忙回答一下。
可能上面的表达太模糊了,我的是这样的意思:

例如在php页面中,显示出最大日期和最小日期

而MYSQL字段A中有多个日期:2008-11-20、2008-11-19、2008-11-20、2008-10-10

然后可以截取的2008-10-10和2008-11-20,这两个日期

使用MYSQL自带的极限函数即可。

如:

select max(字段) from 表;

selcet min(字段) from 表;

当然如果你想一步到位,求到最大或最小日期的记录ID号,可以用这个:

select id,max(字段) from 表 group by id;

selcet id,min(字段) from 表 group by id;
参考技术A 你到底是要SQL直接取最大最小日期呢,还是PHP查询好以后再取呢?
PHP取的话简单啊,排序咯;MYSQL里用语句直接也可以按DATE排序的

如何在列表日期中获取最大和最小日期就像 java 中的 String '17.03.2020", '12.03.2020", '01.02.2020" [关闭]

【中文标题】如何在列表日期中获取最大和最小日期就像 java 中的 String \'\'17.03.2020", \'\'12.03.2020", \'\'01.02.2020" [关闭]【英文标题】:How to get max and minimum date in a list dates are like String ''17.03.2020", ''12.03.2020", ''01.02.2020" in java [closed]如何在列表日期中获取最大和最小日期就像 java 中的 String ''17.03.2020", ''12.03.2020", ''01.02.2020" [关闭] 【发布时间】:2020-06-30 07:47:39 【问题描述】:
List<String> dateList=new ArrayList<>();

请帮助我获取给定列表日期格式的最大和最小日期是字符串格式(“17.03.2020”)

【问题讨论】:

你自己试过什么?你做过研究吗? 这能回答你的问题吗? How to sort Date which is in string format in java? 【参考方案1】:

使用DateTimeFormatter 将日期字符串转换为对应的LocalDate 值并将它们添加到一个新的List 中,您可以使用Collections::sort 对其进行排序。

按如下方式进行:

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Testing 
    public static void main(String[] args) 
        DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("dd.MM.uuuu");
        List<String> strDateList = new ArrayList<String>();
        strDateList.add("17.03.2020");
        strDateList.add("12.03.2020");
        strDateList.add("01.02.2020");

        List<LocalDate> dateList = new ArrayList<LocalDate>();
        for (String ds : strDateList) 
            dateList.add(LocalDate.parse(ds, dateFormatter));
        
        Collections.sort(dateList);
        System.out.println(dateList);

        // If you want to replace the elements in the original list with sorted values
        strDateList.clear();
        for (LocalDate ld : dateList) 
            strDateList.add(ld.format(DateTimeFormatter.ofPattern("dd.MM.uuuu")));
        
        System.out.println(strDateList);
    

输出:

[2020-02-01, 2020-03-12, 2020-03-17]
[01.02.2020, 12.03.2020, 17.03.2020]

【讨论】:

以上是关于用php在mysql中,如何截取最大日期和最小日期的主要内容,如果未能解决你的问题,请参考以下文章

根据商户id查询mysql最大日期和最小日期

mysql 如何获取数据表中离当前日期最近的数据

如何使用c#设置日期时间图表的最小值和最大值?

如何在 Android DatePicker 中设置最小和最大日期?

角度材料日期选择器最小和最大日期验证消息

如何在 Mysql 中以 unix 毫秒为单位存储日期?