so I give up...been trying to do this all day;
I have a string that supplies a date and time in the format dd/MM/yyyy hh:mm
( 04/12/2012 07:00
).
I need to turn that into an Epoch date so I can do some calculations upon it. I cannot modify the format in which the date time is sent to me.
JavaScript or jQuery is fine.
var someDate = new Date(dateString);
someDate = someDate.getTime();
JavaScript dates are internally stored as milliseconds since epoch. You just need to convert it to a number, eg with the unary +
operator, to get them. Or you can use the .getTime
method .
The harder will be parsing your date string. You likely will use a regex to extract the values from your string and pass them into 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]);
This will yield 1354604400000 ms
for your example date.
You can use 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
You can use the momentjs library to do this rather easily.
var epoch = moment(str).unix();
i used this code to convert my string datetime to epoch
new Date(<datetime string>').getTime()
for example :
let epoch = new Date('2016-10-11').getTime()
var time = new Date().getTime() / 1000 + 900 + 330*60;
console.log("time = "+time);
getTime() will return current time with milleseconds in last 3 digit so divide it by 1000 first. Now I have added 900 means 15 min which I need from my current time(You can delete if you do not require further delay time), 330*60(5 hr 30) is required to convert GMT time to IST which is my current region time.
Use below site to test your time :-
https://www.epochconverter.com/
Hope it will help you :)
My answer is to convert current time to epoch time using JavaScript
const currentDate = Math.floor(new Date() / 1000);
console.log( currentDate ); //whatever value it will print you can check the same value to this website https://www.epochconverter.com/ to confirm.
Number(new Date('04/12/2012 07:00'))
Easiest way to do is -
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')))
Since your date format is dd/MM/yyyy hh:mm, you will need to change the date format (Step 1). Else you can go to (Step 2).
Step 1. Change Date Format to 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"
Step 2: Change Date to Epoch Time
var epochTime = Date.parse(time);
//or get current time of epoch time
var currentEpoch = Date.parse(new Date());
Note: If you trying to do Date.parse() with new Date(), and got an error of parsing date string, add toString()
var currentEpoch = Date.parse(new Date().toString());
Single Line Code Returns in seconds
let Epoch= Date.parse(date + '') / 1000 //date in Date() Format
This is how I would do it
Math.trunc(new Date(date).getTime()/1000)
result
1671878316
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.