我如何按字段存储的字符串以日期格式“ yyyy / MM / dd HH:mm:ss”对数据进行排序

Modgo

我有以“ yyyy / MM / dd HH:mm:ss”之类的日期格式存储的数据字段。我想使用orderby按日期对数据进行排序,但是我该怎么做

我通过代码来做到这一点,但是要处理大量的代码需要很长时间

public void sortBy_Desc(String SortBy) {

    int size = universityData.size();
    int after;

    for (int m = size; m >= 0; m--) {
        for (int before = 0; before < size - 1; before++) {
            after = before + 1;

            long first = 0, second = 0;

            if (SortBy.equals(Data.EXAM_DATE)) {
                first = convertStringToDate(examData.get(before).getExam_date()).getTime();
                second = convertStringToDate(examData.get(after).getExam_date()).getTime();
            }
            else if (SortBy.equals(Data.REG_DATE)) {
                first = convertStringToDate(examData.get(before).getReg_end_date()).getTime();
                second = convertStringToDate(examData.get(after).getReg_end_date()).getTime();
            }
            else if (SortBy.equals(Data.FEE)) {
                String fee = getCurrencyType(examData.get(before).getExam_fee()).get(0);
                first = Integer.parseInt(fee);

                fee = getCurrencyType(examData.get(after).getExam_fee()).get(0);
                second = Integer.parseInt(fee);
            }

            if (first < second) {
                swapData(before, after);
            }
        }
    }

}
雷诺·塔内克(Renaud Tarnec)

正如道格·史蒂文森(Doug Stevenson)所提到的,您最好将日期存储为String。最好的选择是将日期转换为格林尼治标准时间1970年1月1日00:00:00以来的毫秒数

在Java中,这是通过这种方式完成的

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = sdf.parse(myDate);
long millisSinceEpoch = date.getTime();

或以下与Java 8

long millisSinceEpoch = LocalDateTime.parse(myDate, DateTimeFormatter.ofPattern("uuuu/MM/dd HH:mm:ss"))
        .atOffset(ZoneOffset.UTC)
        .toInstant()
        .toEpochMilli();

这样就很容易订购。如果您想获得相反的顺序(例如,首先将最近的日期),则可以存储

0 - millisSinceEpoch

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何按照日期时间以降序排列的'DD-MM-YYYY HH:mm:ss'格式对数组进行排序?

按日期排序字符串日期数组 ("yyyy-MM-dd HH:mm:ss.SSSSSS")

Javascript / Thymeleaf表按日期/时间排序,格式为dd-MM-yyyy hh:MM:ss

以dd / mm / yyyy hh:mm:ss格式转换日期对象

如何验证yyyy-mm-dd hh:mm:ss格式

在 hive 中将时间格式从 'MM/dd/yyyy HH:mm:ss' 转换为 'MM-dd-yyyy'

日期从DD / MM / YYYY HH:MM:SS转换为YYYYMM

将字符串dd / mm / yyy转换为yyyy-mm-dd hh:mm:ss

如何转换DD / MM / YYYY HH:MM:SS以offsetdatetime - java的

Java格式yyyy-MM-dd'T'HH:mm:ss.SSSz到yyyy-mm-dd HH:mm:ss

我想将日期从at:“ mm / dd / yyyy hh:mm”转换为“ yyyy-mm-dd hh:mm:ss”

快速将日期格式从“mm/dd/yyyy hh:mm:ss a”转换为“dd MMM yyyy”

将格式为 yyyy-MM-dd HH:mm:ss.SSS 的字符串日期转换为字符串 MM/dd/yyyy

如何使用NodeJS将UTC日期格式化为`YYYY-MM-DD hh:mm:ss`字符串?

如何从 Date 以“yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ”格式获取日期字符串?

如何将参数格式从DD / MM / YYY HH:MM; SS更改为DD / MM / YYYY

SQLite按日期排序,格式为EEE MMM dd HH:mm:ss zzz yyyy

从字符串中以以下格式解析日期:dd / MM / yyyy [to dd / MM / yyyy]

Excel 隐藏日期从 DDD MMM DD HH:MM:ss YYYY 到 YYYY-MM-DD HH:MM:ss

字符串(dd-MM-yyyy HH:mm)到日期(yyyy-MM-dd HH:mm)| 爪哇

Swift:日期无法解析“ yyyy-MM-dd'T'HH:mm:ss”字符串

将字符串转换为日期时间dd / MM / yyyy hh:mm:ss tt

如何将日期格式从yyyy-mm-dd hh:mm转换为mm / dd / yyyy

如何在MySQL中导入Excel存储的数据并保持日期格式为yyyy-mm-dd hh:mm:ss

我可以将 hh:mm 格式转换为 yyyy-MM-dd HH:mm:ss 吗?

熊猫-将日期列从dd / mm / yy hh:mm:ss转换为yyyy-mm-dd hh:mm:ss

熊猫将日期字符串从mm / d / yyyy和mm / dd / yyyy格式转换为dd.mm.yyyy

在SQL中以YYYY-MM-DD HH:MM:SS格式转换日期,日期和时间戳记字符串

将日期字符串从ISO 8601格式(YYYY-MM-DDTHH:mm:ss.sssZ)转换为'DD-MM-YYYY HH:mm`