【问题标题】:How to convert a Timestamp into MySQL DateTime in JavaScript?如何在 JavaScript 中将时间戳转换为 MySQL DateTime?
【发布时间】:2021-11-08 11:34:24
【问题描述】:
我有一个时间戳格式,就像下面的int。
1631514003973
我将此值传递给使用 Node.JS 构建的 API。如何将其转换为Mysql DateTime 格式?
我检查了this 的答案,但它是关于获取当前日期而不是转换时间戳。我来自 Java 背景,所以这对我来说有点混乱。
【问题讨论】:
标签:
javascript
mysql
node.js
datetime
unix
【解决方案1】:
您可以将 JavaScript 的 Date 对象直接传递给 MySQL。 MySQL 会自动从 Date 对象生成 DateTime 格式。
const date = new Date(1631514003973);
【解决方案2】:
我假设整数表示自Epoch time 以来的毫秒数。如果是这种情况,请尝试以下代码:
const numberOfMs = 1631514003973;
const epochDate = new Date(1970,1,1);
const myDate = new Date(epochDate .getTime() + numberOfMs);
【解决方案3】:
为此,您可以在 nodejs 层中使用任何一个。您需要使用下面将时间戳转换为日期并在 mysql 查询中使用。
const date = new Date(1631514003973);
console.log(date)
直接在mysql中使用可以使用mysql日期函数和
SELECT DATE_FORMAT(FROM_UNIXTIME(DATE(1631514003973)), '%e %b %Y') AS 'date_formatted' FROM table
【解决方案4】:
我们需要使用 JavaScript 创建一个新函数。
<script>
var timestamp = 1607110465663
var date = new Date(timestamp);
console.log("Date: "+date.getDate()+
"/"+(date.getMonth()+1)+
"/"+date.getFullYear()+
" "+date.getHours()+
":"+date.getMinutes()+
":"+date.getSeconds());
</script>
Output:
Date: 4/12/2020 19:34:25
如果你只想要日期(MM/DD/YYYY),你应该休息一下:
var timestamp=1370001284;
var todate=new Date(timestamp).getDate();
var tomonth=new Date(timestamp).getMonth()+1;
var toyear=new Date(timestamp).getFullYear();
var original_date=tomonth+'/'+todate+'/'+toyear;
console.log(original_date);