所以我放弃了……整天都在尝试这样做;
dd/MM/yyyy hh:mm
我有一个以( )格式提供日期和时间的字符串04/12/2012 07:00
。
我需要把它变成一个纪元日期,这样我就可以对其进行一些计算。我无法修改发送给我的日期时间格式。
JavaScript 或 jQuery 都可以。
所以我放弃了……整天都在尝试这样做;
dd/MM/yyyy hh:mm
我有一个以( )格式提供日期和时间的字符串04/12/2012 07:00
。
我需要把它变成一个纪元日期,这样我就可以对其进行一些计算。我无法修改发送给我的日期时间格式。
JavaScript 或 jQuery 都可以。
var someDate = new Date(dateString);
someDate = someDate.getTime();
您可以使用Date.parse(date)
.
function epoch (date) {
return Date.parse(date)
}
const dateToday = new Date() // Mon Jun 08 2020 16:47:55 GMT+0800 (China Standard Time)
const timestamp = epoch(dateToday)
console.log(timestamp) // => 1591606075000
JavaScript 日期在内部存储为自纪元以来的毫秒数。您只需要将其转换为数字,例如使用一元运算+
符,即可获得它们。或者你可以使用.getTime
方法。
更难的是解析您的日期字符串。您可能会使用正则表达式从字符串中提取值并将它们传递给Date.UTC
:
var parts = datestring.match(/(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2})/);
return Date.UTC(+parts[3], parts[2]-1, +parts[1], +parts[4], +parts[5]);
这将为1354604400000 ms
您的示例日期产生。
我使用此代码将我的字符串日期时间转换为纪元
new Date(<datetime string>').getTime()
例如 :
let epoch = new Date('2016-10-11').getTime()
Number(new Date('04/12/2012 07:00'))
var time = new Date().getTime() / 1000 + 900 + 330*60;
console.log("time = "+time);
getTime() 将返回当前时间,最后 3 位以毫秒为单位,因此首先将其除以 1000。现在我添加了 900 表示我需要从当前时间开始的 15 分钟(如果您不需要进一步的延迟时间,您可以删除),需要 330*60(5 小时 30)将 GMT 时间转换为我当前区域的 IST时间。
使用以下网站测试您的时间:-
https://www.epochconverter.com/
希望它会帮助你:)
由于您的日期格式是 dd/MM/yyyy hh:mm,因此您需要更改日期格式(步骤 1)。否则,您可以转到(步骤 2)。
步骤 1. 将日期格式更改为 MM/dd/yyyy hh:mm
var currentTime = "21/02/2021 12:00"
var monthPosition = currentTime.split('/', 2).join('/').length
var day = currentTime.substring(0, currentTime.indexOf('/'))
var month = currentTime.substring(currentTime.indexOf('/') + 1, monthPosition);
var time = month + "/" + day + currentTime.substring(month.length + day.length + 1); //"02/21/2021 12:00"
第 2 步:将日期更改为纪元时间
var epochTime = Date.parse(time);
//or get current time of epoch time
var currentEpoch = Date.parse(new Date());
注意:如果您尝试使用 new Date() 执行 Date.parse(),并遇到解析日期字符串的错误,请添加 toString()
var currentEpoch = Date.parse(new Date().toString());
我的答案是使用 JavaScript 将当前时间转换为纪元时间
const currentDate = Math.floor(new Date() / 1000);
控制台.log(当前日期);//无论它将打印什么值,您都可以在该网站https://www.epochconverter.com/检查相同的值以确认。
最简单的方法是——
const moment = require('moment')
function getUnixTime () { return this.getTime() / 1000 | 0 }
let epochDateTime = getUnixTime(new Date(moment().add(365, 'days').format('YYYY-
MM-DD hh:mm:ss')))