- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
var array = [{
id: 1,
date: 'Mar 12 2017 10:00:00 am'
},{
id: 2,
date: 'Mar 12 2017 08:00:00 pm'
},{
id: 3,
date: 'Mar 12 2017 05:00:00 am'
},{
id: 4,
date: 'Mar 18 2017 09:00:00 am'
}];
这是我的逻辑:-
sortedPatients = PatientsListArray.sort((a, b) => {
if (b.Date < a.Date) return -1
if (b.Date > a.Date) return 1
})
我得到这样的输出 id4 , id1 , id2 , id3
我期望这样的输出id4, id2, id3, id1
有人可以帮助我吗?
最佳答案
您的代码有一些问题:
您正在比较字符串而不是日期对象,因此,您正在对字符串进行排序:-)
if (b.Date < a.Date) return -1
^ ^
您将使用大写的 Date
属性获取日期字符串。
if (b.Date < a.Date) return -1
^ ^
您的期望不正确,因为您想要获得降序结果id4, id2, id1, id3
id4, id2, id3, id1
^ ^
->
<-
您的源数组包含无效的日期属性值,因此您需要用引号将其括起来 "
。
date: Mar 12 2017 10:00:00 am
^ ^
您可以使用 new Date()
构造函数或静态函数 Date.parse
(获取自 1970 年 1 月 1 日 00:00:00 以来的毫秒数世界标准时间)。
<小时/>new Date()
String value representing a date. The string should be in a format recognized by the Date.parse() method (IETF-compliant RFC 2822 timestamps and also a version of ISO8601).
Note: parsing of date strings with the Date constructor (and Date.parse, they are equivalent) is strongly discouraged due to browser differences and inconsistencies. Support for RFC 2822 format strings is by convention only. Support for ISO 8601 formats differs in that date-only strings (e.g. "1970-01-01") are treated as UTC, not local. Reference
Date.parse()
The parse() method takes a date string (such as "Dec 25, 1995") and returns the number of milliseconds since January 1, 1970, 00:00:00 UTC. This function is useful for setting date values based on string values, for example in conjunction with the setTime() method and the Date object. Reference
查看包含这些修复的代码片段:
var array = [{
id: 1,
date: 'Mar 12 2017 10: 00: 00 am'
}, {
id: 2,
date: 'Mar 12 2017 08: 00: 00 pm'
}, {
id: 3,
date: 'Mar 12 2017 05: 00: 00 am'
}, {
id: 4,
date: 'Mar 18 2017 09: 00: 00 am'
}];
var sorted = array.sort((a, b) => {
//The parse function will convert those strings to Dates.
var bdt = Date.parse(b.date);
var adt = Date.parse(a.date);
return bdt > adt ? 1 : (bdt < adt ? -1 : 0);
});
console.log(sorted);
看到了吗?现在你的逻辑开始工作了!
关于javascript - 如何在 JavaScript 中使用 'MMMM Do YYYY, h:mm:ss am/pm' 对日期进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48560820/
在将网站从 GoDaddy 共享服务器传输到 EC2 实例的过程中。处理流量,在典型的一天的高峰时段,大约有 300 名活跃访客,至少可以说是有问题的。我的 CPU 使用率缓慢上升,最终达到 100%
我在一个 PM 系统上工作,我希望在最后收到的 PM 上方列出一次对话的先前发送的 PM。但我的问题是:如何在数据库中设置这样的表?我玩了一会儿关于为每个特定对话使用一个 ID,但是该 ID 的来源是
我想从给定的文本字符串中计算小时数和分钟数,目前我使用一些 excel 内置函数创建了以下公式, 示例文本字符串: 7.00pm to 8.00pm or 9.00am to 11.45pm or 1
我有一个字符串,其中包含:14 Dec 2011 9:45 am(注意“AM”没有大写) 现在我想用它创建一个 datetime 变量。 我试着查看 this ,但这与我想要的相反。我也试过this
之前创建的测试使用 DateTimeFormatter.ofPattern("ha"); 并返回 "10AM"(对于 '2017-04-09T10:00-06 :00[美国/山区]'). 在我的 Ma
我编写了正则表达式来捕获 HH:MM AM/PM/am/pm 但它无法提取精确的模式 正则表达式代码: import re def replace_entities(example): res
我的 Sql 查询如下所示: SELECT monday FROM `restaurantslive` 结果是 我想做的是在分钟后附加“AM”和“PM”,例如其中一条记录是 6:30–10:30A
我正在使用 codeigniter 和 jquery datetimepicker 插件。在我的 View 页面上,我有类似 的日期时间选择器格式 $(".traveler").datetimepic
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Android date/time displaying 0 instead of 12 下面是我使用的代码
我正在构建类似考试日期表的内容。我目前在查找时间之间的冲突时遇到问题.. 我有一个存储时间间隔的字符串列表,例如- List times = new List(); times.Add("6:00 P
DateTimeFormatter's API reference似乎错过了正确格式化 am-pm-of-day 的细节,我总是可以使用 String.replace() 但我觉得将选项更改为 AM
我在转换来自服务器的时间时遇到问题,我想将其转换为 24 小时制。我正在使用以下代码: String timeComeFromServer = "3:30 PM"; SimpleDateFormat
从 pm 帮助,我得到这个: pm uninstall: removes a package from the system. Options: -k: keep the data and c
我在前端输入日期为 10:00 AM 、12:00 PM 等...(表示 12 小时格式)。现在我想将该值保存在数据库中的 time 数据类型列中。我如何将该 AM PM 值保存到 MySQL 中的
我在执行使用 Elasticsearch.pm(新版本,小写)模块的 perl 脚本时遇到问题。 该脚本是正确的(我还使用 perl -c 选项检查了语法),但是当我尝试执行它时,我收到了这个错误:
在这个JDO中,为什么这里需要.class? Query averageSalaryQuery = pm.newQuery(Employee.class); 如果可能,我更愿意编写这种更简洁的语法?
我正在使用 2 个字段,这些字段存储为 smallint 军事结构化时间。编辑我在 IBM Informix Dynamic Server 版本 10.00.FC9 上运行 beg_tm 和 end_
我刚刚查看了 http://www.cronmaker.com/并尝试为以下场景创建 cron 表达式。 在周一和周二的两个特定时间(即 1:24 和 3:34)运行作业。 我是为此生成以下表达式的。
我想将字符串:24/11/2016 04:30 pm 转换为日期时间值:11/24/2016 04:30 pm。 我的代码为: DateTime date = DateTime.ParseExact(
这不是更困惑吗?难道不应该反过来这样更容易记住吗? 最佳答案 查看此备忘单:http://cheat.errtheblog.com/s/strftime/ Ruby 1.8 之前好像没有%P 选项,所
我是一名优秀的程序员,十分优秀!