javascript - 将(来自 postgresql 的日期和时间戳)转换为 javascript 时间
问题描述
我在 PostgreSQL 表中有两列(开始日期(日期格式)和取消日期(时间戳格式))。一个是日期格式,另一个是时间戳格式。我想得到天数中两个值之间的差异。我正在用javascript发送数据。
如何计算javascript中的天数差异?例如,一个值为 2010-10-14。第二个值是 2010-10-16 04:05:06。差异将是 3 天。
我的问题是我在 API 响应中以 PostgreSQL(日期和时间戳)格式获取这两个值。一个简单的区别在javascript中不起作用(start_date-cancellation_date)。
解决方案
Javascript 日期对象在转换为毫秒之前无法进行比较。
var now = new Date(); // create new date - today
var then = new Date(now.getDate()+5); // create new date that's now + 5 days (bad variable name, sry)
var nowAdj = now.getTime(); // now adjusted to milliseconds
var thenAdj = then.getTime(); // then adjusted to milliseconds
var differenceInDays = Math.round((thenAdj - nowAdj)/(1000*60*60*24)) // Subtract now from then and multiply the results by the magic formula to return milliseconds to days.
编辑:清理了一下,“then”仍然是一个可怕的变量名;)
推荐阅读
- java - 有人能告诉我为什么我的代码中出现 java.lang.ArrayIndexOutOfBoundsException 错误吗?
- arrays - 如何在 Julia 中连接不同大小的向量?
- python - 有没有办法让 python 检测字母字符并产生错误消息?
- r - renderPlot 在视图中输出绘图,而不是浏览器
- c++ - 具有参数的模板的特化
- python - 为什么静音命令在 Discord.py 中不起作用?
- mysql - django.db.utils.OperationalError 1101. JSON 列不能有默认值
- python - 如何暂停、恢复和停止 pyttsx3 说话?
- bash - 如何通过 SSH 连接到远程服务器并 cd 一步进入源目录 - BASH
- javascript - POST http://localhost:4200/ 404 未找到(从 Angular 到 Nodejs 的请求)