是否将java日期转换为按时间顺序排序的字符串?
我知道我很懒(嘿,至少下次我用谷歌搜索它时,我会找到答案) 您是否有一段现有的代码,它接受一个日期对象并生成一个字符串,该字符串的排序顺序与时间顺序相同 我希望字符串包含所有日期(日、月、小时、分钟、毫秒等),并且当比较两个字符串时,表示最早日期的字符串将位于表示较晚日期的字符串之前。是否将java日期转换为按时间顺序排序的字符串?,java,date,Java,Date,我知道我很懒(嘿,至少下次我用谷歌搜索它时,我会找到答案) 您是否有一段现有的代码,它接受一个日期对象并生成一个字符串,该字符串的排序顺序与时间顺序相同 我希望字符串包含所有日期(日、月、小时、分钟、毫秒等),并且当比较两个字符串时,表示最早日期的字符串将位于表示较晚日期的字符串之前。date[]dates=//。。。。; Date[] dates=//....; List<String> listToSort=new ArrayList<String>(dates.le
date[]dates=//。。。。;
Date[] dates=//....;
List<String> listToSort=new ArrayList<String>(dates.length);
SimpleDateFormat format=new SimpleDateFormat ("yyyyMMddHHmmssSSS");
for(Date date: dates) {
String sDate=format.format(date);
listToSort.add(sDate);
}
Collections.sort(listToSort);
List listToSort=新数组列表(dates.length);
SimpleDateFormat=新的SimpleDateFormat(“yyyymmddhhmmssss”);
用于(日期:日期){
字符串sDate=format.format(日期);
listToSort.add(sDate);
}
Collections.sort(listToSort);
我也很懒,所以可能它有一些编译错误,或者没有(没有检查)。
java.text.DateFormat日期格式=
新的java.text.simpleDataFormat(“yyyymmddhhmmsssss”);
java.util.Date Date=新建java.util.Date();
//转换为GMT,如果需要,请查看
字符串sortableDate=dateForamt.format(日期);
定义了一组共享以下属性的标准日期和时间表示形式:
日期和时间值按从最重要到最不重要的顺序排列:年、月(或周)、日、小时、分钟、秒和秒的分数。因此,除了涉及负年份的日期表示外,表示的词典顺序与时间顺序相对应
这意味着任何ISO 8601格式都可以——按字母顺序排列ISO 8601格式的日期相当于按时间顺序排列日期
以ISO 8601格式格式化日期应该不难,可以直接使用
DateFormat
,也可以使用功能强大的库。与Java和Date有关的任何内容,我始终认为它比标准库更值得推荐。否。我也懒得为你写一封信。:-)+1代表懒惰!(实际上,我只需要SimpleDataFormat位来转换一个日期)结尾处的毫秒应该只有3位数字(SSS):yyyymmddhhmmssss
java.text.DateFormat dateFormat =
new java.text.SimpleDateFormat("yyyyMMddHHmmssSSSS");
java.util.Date date = new java.util.Date();
// convert to GMT, if needed, look at this
String sortableDate = dateForamt.format(date);