标签: date-sorting

数据表日期排序dd/mm/yyyy问题

我正在使用一个名为datatables的Jquery插件

它太棒了,但根据dd/mm/yyyy格式,我无法正确排序日期.

我查看了他们的支持格式,但这些修复似乎都不起作用.

有人可以帮我吗?

jquery datatables date-sorting

58
推荐指数
6
解决办法
12万
查看次数

如何在php中重新格式化日期时间字符串?

我从插件收到日期时间.我把它放到一个变量中:

$datetime = "20130409163705"; 
Run Code Online (Sandbox Code Playgroud)

这实际上转化为yyyymmddHHmmss.

我需要将此作为交易时间显示给用户,但看起来不合适.

我想安排它像.09/04/2013 16:37:05 09-apr-2013 16:37:05

如何进行并更改字符串的顺序?

至于现在,我可以想到使用substr来分隔日期和时间.我仍然不确定如何添加其他字符并重新排列日期.

php sorting time date date-sorting

46
推荐指数
3
解决办法
11万
查看次数

需要一种按日期对100 GB日志文件进行排序的方法

所以,由于一些奇怪的原因,我最终得到一个100GB的未分类日志文件(实际上它是部分排序的),而我试图应用的算法需要排序数据.日志文件中的一行看起来像这样

data <date> data data more data
Run Code Online (Sandbox Code Playgroud)

我可以在工作站上访问C#4.0和大约4 GB的RAM.我认为合并 - 某种类型在这里最好,但是我自己实现这些算法还不够 - 我想问一下我是否可以采取某种捷径.

顺便说一句,解析日期字符串DateTime.Parse()非常慢,占用了大量的CPU时间 - chugging -rate几乎是10 MB /秒.有比以下更快的方式吗?

    public static DateTime Parse(string data)
    {            
        int year, month, day;

        int.TryParse(data.Substring(0, 4), out year);
        int.TryParse(data.Substring(5, 2), out month);
        int.TryParse(data.Substring(8, 2), out day);

        return new DateTime(year, month, day);
    }
Run Code Online (Sandbox Code Playgroud)

我写道,为了加快速度DateTime.Parse(),它确实运行良好,但仍然需要大量的循环.

请注意,对于当前的日志文件,我也对小时,分钟和秒感兴趣.我知道我可以使用格式提供DateTime.Parse(),但这似乎并没有加快它的速度.

我正在寻找正确方向的推动,提前谢谢.

编辑:有些人建议我使用字符串比较来比较日期.这适用于排序阶段,但我确实需要解析算法的日期.我仍然不知道如何在4GB的免费RAM上对100GB文件进行排序,而无需手动操作.

编辑2:嗯,多亏了我使用windows排序的一些建议,我发现Linux上有类似的工具.基本上你叫sort,它会为你修复一切.正如我们所说,它正在做一些事情,我希望它能尽快结束.我正在使用的命令是

sort -k 2b 2008.log > 2008.sorted.log
Run Code Online (Sandbox Code Playgroud)

-k指定我要对第二行进行排序,第二行是通常YYYY-MM-DD hh:mm:ss.msek格式的日期时间字符串.我必须承认,man-pages缺乏解释所有选项,但我通过运行找到了很多例子info coreutils …

c# sorting date-sorting

33
推荐指数
5
解决办法
9364
查看次数

ElasticSearch中的条件排序

我有一些文件,我想在日期字段上排序.对于日期等于指定日期的文档,今天的示例以及之后的所有日期,我希望按升序排序.对于指定日期之前的日期,我想按降序排序.

这在ElasticSearch中是否可行?如果是这样,你可以建议任何文献或方法.

date的类型为"date",格式为"dateOptionalTime".

谢谢

sorting mvel date-sorting elasticsearch

12
推荐指数
1
解决办法
1万
查看次数

如何根据日期对HashMap进行排序?

我试图根据键中的日期对这个HashMap进行排序

我的哈希地图:

Map<Date, ArrayList> m = new HashMap<Date, ArrayList>();

java sorting hashmap date-sorting

8
推荐指数
1
解决办法
2万
查看次数

按字典顺序升序排序的日期字符串格式是按时间顺序降序排列?

将日历日期编码为以下YYYY-MM-DD格式的字符串(带或不带分隔符,例如2014-04-21,2014.04.2120140421)具有以下属性:

\n\n
    \n
  • 按字典顺序升序对字符串进行排序(将它们视为简单字符串,不知道它们代表什么)将它们按时间顺序排列
  • \n
  • 日历日期和字符串之间的转换对于人类来说是显而易见的(2014-04-21显然代表April 21, 2014
  • \n
\n\n

请注意,为此,日期的每个组成部分(年、月和日)必须始终使用相同数量的字符,如果数字太小,则使用前导零。这意味着YYYY最多只能代表年9999。如果我们也想表示 5 位数的年份,那么上面示例中的日期就变成02014-04-21

\n\n

问题:

\n\n

有没有一种方法可以将日历日期编码为字符串,以便按字典顺序升序对字符串进行排序,使它们按时间顺序逆序排列?

\n\n

理想情况下,人们很容易在日历日期和您建议的格式之间进行转换,但即使您不管理这个(我下面的解决方案不管理)我仍然想知道您的解决方案。

\n\n

如果有帮助,您可能需要此限制:

\n\n
    \n
  • 我只需要表示 2001 年 1 月 1 日到 2099 年 12 月 31 日之间的日期。
  • \n
\n\n

我能想到的就是这个:

\n\n
    \n
  • 提前选择最大可表示年份,例如 2100
  • \n
  • 将年-月-日转换为(2100 年)、(13 个月)、(32 天),如果这 3 个数字中的任何一个太小,请按照上面的说明添加前导零。
  • \n
  • 于是就Apr 21, 2014变成了86-09-11
  • \n
\n\n

86-09-11我的解决方案的主要问题是它对于代表 的人类来说并不明显 …

sorting algorithm date date-sorting

8
推荐指数
1
解决办法
3225
查看次数

ArrayList 中的 C# Sort Object[] 数组?

我不知道如何对包含对象 Array 的 ArrayList 进行排序,该对象 Array 有一个 DateTime 对象和一个 String 对象。我最终试图根据 ArrayList 中数组的第一个对象 (DateTime) 对 ArrayList 进行排序。

我试图四处搜索排序,但文章似乎没有进入详细程度或应用程序正在使用的这个特定用例。我不确定这是否是处理数据的最佳方式,但任何帮助建议肯定会很感激。

目标是读取多个 XML 文件,并将所有 XML 文件中的所有 Lap 数据组合起来,并将它们从最旧到最新排序,然后创建一个包含组合排序信息的新 XML 文件。

ArrayList LapsArrayList = new ArrayList();

ListBox.SelectedObjectCollection SelectedItems = lstSelectedFiles.SelectedItems;

foreach (string Selected in SelectedItems)
{
    Object[] LapArray = new Object[2];

    XmlDocument xDoc = new XmlDocument();
    xDoc.Load(Path + @"\" + Selected);

    XmlNodeList Laps = xDoc.GetElementsByTagName("Lap");

    foreach (XmlElement Lap in Laps)
    {
        LapArray[0] = DateTime.Parse(Lap.Attributes[0].Value);
        LapArray[1] = Lap.InnerXml.ToString();
        LapsArrayList.Add(LapArray);
    }
}
Run Code Online (Sandbox Code Playgroud)

XML 数据示例

<Lap StartTime="2013-06-17T12:27:21Z"><TotalTimeSeconds>12705.21</TotalTimeSeconds><DistanceMeters>91735.562500</DistanceMeters><MaximumSpeed>10.839000</MaximumSpeed><Calories>3135</Calories><AverageHeartRateBpm><Value>151</Value>.....</Lap>
Run Code Online (Sandbox Code Playgroud)

c# sorting date-sorting

2
推荐指数
1
解决办法
1594
查看次数

如何使用php从mysql表中对同一行中的年份和月份字段进行排序

我有一个包含月份和年份字段的mysql表,如下所示.

    year        month       filename                    filepath
    2013        Feb         2013Feb_Report.xlsx         ./main_reports/2013Feb_Report.xlsx
    2013        Jan         2013Jan_Report.xlsx         ./main_reports/2013Jan_Report.xlsx
    2012        Jul         2012Jul_Report.xlsx         ./main_reports/2012Jul_Report.xlsx
    2013        Mar         2013Mar_Report.xlsx         ./main_reports/2013Mar_Report.xlsx
    2011        Mar         monthly report180413.xlsx   ./main_reports/monthly report180413.xlsx
    2012        Sep         2012Sep_Report.xlsx         ./main_reports/2012Sep_Report.xlsx
    2012        Oct         2012Oct_Report.xlsx         ./main_reports/2012Oct_Report.xlsx
Run Code Online (Sandbox Code Playgroud)

我正在检索此表中的所有字段并将其打印如下.

    2011 Mar  :  monthly report180413.xlsx
    2012 Sep  :  2012Sep_Report.xlsx
    2012 Oct  :  2012Oct_Report.xlsx
    2013 Jan  :  2013Jan_Report.xlsx
Run Code Online (Sandbox Code Playgroud)

我想通过按DESC顺序对月份和年份字段进行排序来检索此表,如下所示.我怎样才能做到这一点?我应该更改月份和年份字段的数据类型吗?请帮忙..

    2013 Jan  :  2013Jan_Report.xlsx
    2012 Oct  :  2012Oct_Report.xlsx
    2012 Sep  :  2012Sep_Report.xlsx
    2011 Mar  :  monthly report180413.xlsx
Run Code Online (Sandbox Code Playgroud)

我使用的sql查询如下.它以DESC顺序检索年份和月份,但月份按DESC顺序排列,即'Jan'高于'Feb'.我需要的是'Jan'上面的'Feb'..

 "SELECT * FROM main_reports ORDER BY year DESC, …
Run Code Online (Sandbox Code Playgroud)

php mysql sql-order-by date-sorting

1
推荐指数
1
解决办法
4155
查看次数