日期格式化程序函数给我一个负数
Date formatter function gives me a negative number
我有这段代码
function dateFormatter(date) {
var seconds = Math.floor((new Date() - date) / 1000);
var interval = Math.floor(seconds / 31536000);
if (interval > 1) {
return interval + " Years Ago ";
}
interval = Math.floor(seconds / 2592000);
if (interval > 1) {
return interval + " Months Ago ";
}
interval = Math.floor(seconds / 86400);
if (interval > 1) {
return interval + " Days Ago ";
}
interval = Math.floor(seconds / 3600);
if (interval > 1) {
return interval + " Hrs ago ";
}
interval = Math.floor(seconds / 60);
if (interval > 1) {
return interval + " mins ago ";
}
return Math.floor(seconds) + " seconds ago";
}
它工作得很好,但有时它会给我一个负数,我从推特上获取最后一条推文,并想要自定义日期。现在我有一条21:08:49 GMT-0400 (EDT)
日期的推特,但我得到的是-4733 SECONDS AGO
知道这里发生了什么吗?如有任何帮助,我们将不胜感激。
更新代码:
var d = new Date(g[b].getAttribute("datetime").replace(/-/g, "/").replace("T", " ").split("+")[0]),
我的第一个猜测是,作为参数传递的日期比当前日期"新"。这是有道理的,因为你的间隔总是小于1,并且你会跳过所有的if子句,这些子句总是在几秒钟内返回答案。
也许你在使用不同的时区?尝试将这两个日期记录到控制台console.log(...)
,您就会知道是否需要进一步查看。
相关文章:
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 通过另一个php应用程序将我的项目推送到Github存储库中
- 一个密码测试程序,如果存在空格,它会提醒用户
- 引导程序崩溃一次只能看到一个
- 仅为一个窗体运行应用程序脚本
- 错误:$injector:modulerr模块错误(我的第一个SPA应用程序)
- React应用程序:道具在下一个事件后更新
- 如何从另一个处理程序内部取消JavaScript事件处理程序函数的执行
- 编写一个程序在别人的网站上做某事,是不可能的
- 一个程序PhantomJS如何等待AngularJS$资源解析,然后再尝试测试返回的数据
- 导出javascript对象以在另一个程序中使用它
- 如何运行一个程序,直到用户给出一定的答案(字符串+ #)
- 如何从HTML运行另一个程序
- 如何用一个代码库编写一个程序来支持多个客户的定制需求?
- 制作一个javascript聊天机器人,将聊天命令转换为另一个程序中的按键
- 一个程序有多少行代码?(我知道这是一种模糊和视情况而定,但是……)
- javascript输入另一个程序要求的密码
- 我正在尝试用JavaScript构建一个程序,该程序扫描段落并返回包含特定单词的句子