我从插件收到日期时间.我把它放到一个变量中:
$datetime = "20130409163705";
Run Code Online (Sandbox Code Playgroud)
这实际上转化为yyyymmddHHmmss
.
我需要将此作为交易时间显示给用户,但看起来不合适.
我想安排它像或.09/04/2013 16:37:05
09-apr-2013 16:37:05
如何进行并更改字符串的顺序?
至于现在,我可以想到使用substr来分隔日期和时间.我仍然不确定如何添加其他字符并重新排列日期.
所以,由于一些奇怪的原因,我最终得到一个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 …
我有一些文件,我想在日期字段上排序.对于日期等于指定日期的文档,今天的示例以及之后的所有日期,我希望按升序排序.对于指定日期之前的日期,我想按降序排序.
这在ElasticSearch中是否可行?如果是这样,你可以建议任何文献或方法.
date的类型为"date",格式为"dateOptionalTime".
谢谢
我试图根据键中的日期对这个HashMap进行排序
我的哈希地图:
Map<Date, ArrayList> m = new HashMap<Date, ArrayList>();
将日历日期编码为以下YYYY-MM-DD
格式的字符串(带或不带分隔符,例如2014-04-21
,2014.04.21
或20140421
)具有以下属性:
2014-04-21
显然代表April 21, 2014
)请注意,为此,日期的每个组成部分(年、月和日)必须始终使用相同数量的字符,如果数字太小,则使用前导零。这意味着YYYY
最多只能代表年9999
。如果我们也想表示 5 位数的年份,那么上面示例中的日期就变成02014-04-21
。
有没有一种方法可以将日历日期编码为字符串,以便按字典顺序升序对字符串进行排序,使它们按时间顺序逆序排列?
\n\n理想情况下,人们很容易在日历日期和您建议的格式之间进行转换,但即使您不管理这个(我下面的解决方案不管理)我仍然想知道您的解决方案。
\n\n如果有帮助,您可能需要此限制:
\n\nApr 21, 2014
变成了86-09-11
86-09-11
我的解决方案的主要问题是它对于代表 的人类来说并不明显 …
我不知道如何对包含对象 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) 我有一个包含月份和年份字段的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) date-sorting ×8
sorting ×6
c# ×2
date ×2
php ×2
algorithm ×1
datatables ×1
hashmap ×1
java ×1
jquery ×1
mvel ×1
mysql ×1
sql-order-by ×1
time ×1