我下载了一个视频作者的视频合集,里面有 200 多个文件,包含从 2021 年到现在 3 年间的文件。我想按时间排序,但是遇到了问题:这些文件的修改日期都是同一天。我猜这是因为发布资源的人在整理或打包时,丢失了原始文件的日期信息。
使用“创建媒体日期”对视频文件排序
假设现在获得了一些格式化的时间/日期字符串,如何用JavaScript对其排序呢?
理想的办法就是用Date.parse()方法将这些字符串解析为时间,直接比较它们的毫秒数。示例如下:
function sortDate(sortby) { return function(object1, object2) { var value1 = Date.parse(object1); var value2 = Date.parse(object2); if(value1>value2){ return (sortby==="desc")?-1:1; }else if(value1<value2){ return (sortby==="desc")?1:-1; } } } var a=["2017/4/20","2016/6/3","2016/7/1","2016/7/27","2017/8/4","2016/10/13","2016/12/27","2017/1/14","2017/2/3","2017/2/3","2017/2/3","2017/2/3","2017/2/3","2017/2/3","2017/2/3","2017/3/1","2017/3/1","2017/3/1","2017/3/1","2017/3/1","2017/3/1","2017/3/1","2017/3/23","2017/3/31","2017/5/19","2017/5/19","2017/6/2","2017/6/24","2017/6/24","2017/6/24","2017/9/1","2017/9/5","2017/12/12","2018/2/19","2018/9/26","2017/5/19","2017/3/9","2017/7/14","2017/5/19","2017/5/19"]; a.sort(sortDate("desc"));
结果如下:
上例定义了一个sortDate函数,我们在数组的sort方法里将它作为参数。如果不手动设置排序参数为desc,那么这个函数将始终按升序排序。
标准的时间/日期格式如下:
"2017/4/20 16:20:30"
当然,只用一部分,或者改变下连接符,也是可以解析的。
Read More →
JavaScript对日期排序
JavaScript的数组有个排序方法——sort()。如果数组里的项是直接值,直接使用sort()就可以进行排序。但如果数组项是object,直接用sort()排序就无效了。此时我们可以根据object的属性来排序。
var a=[ { "name":"saber", "height":154 }, { "name":"Rin", "height":159 }, { "name":"Sakura", "height":156 } ]; function sortByProperty(propertyName) { return function(object1, object2) { var value1 = object1[propertyName]; var value2 = object2[propertyName]; if (value2 < value1) { //升序 return 1; } else if (value2 > value1) { return -1; } else { return 0; } } } a.sort(sortByProperty("height"));
如上代码,定义了一个排序函数sortByProperty,传递了属性进去就根据什么属性的值排序。
上面代码得到的结果是升序,如图:
saber最矮我不服!
如果想改成降序排列,将sortByProperty函数return 1改成-1,return -1改成1就行了。
JavaScript根据对象的属性排序
WordPress菜单中的栏目可以拖动改变顺序,但是页面却不可以。
那么如果需要对页面进行排序,在编辑页面的时候,右侧可以输入排序序号。也可以在快速编辑的时候输入序号,序号越小越靠前。
更改WordPress页面的显示顺序
WordPress下的默认排序是按照发布时间排序,但其实还是按修改时间排序来的比较合理,尤其是像我这种挖坑党,简单搜了一些资料,然后就把文章列表改成按修改时间排序的了
1.打开WordPress当前主题目录,打开index.php,搜索代码:
<?php while ( have_posts() ) : the_post(); ?>
2.在其之前添加
<?php $posts = query_posts($query_string . '&orderby=modified');?>
保存即可。
如果要显示最后修改的时间,将一下代码添加到合适的位置即可
最后更新: <?php the_modified_time('Y-m-d H:i:s'); ?>
此排序对所有页面生效。
PS:
1、根据orderby的值不同,可以让文章按照很多种方式进行排序,下面是列举几个常见的值及其对应的排序方式:
title:按标题;
date:按发布日期;
modified:按修改时间;
ID:按文章ID;
rand:随机排序;
comment_count:按评论数
2、如果你同时想修改标签页、分类页等存档页面的文章排列顺序的话,同样可以按照上面的方法修改主题目录下的archive.php等。
参考:http://i7298.com/archives/55
http://www.efanyh.com/archives/1731.html