1

I have one string "09-04-2000". Now I am trying to convert it into date using JS Date().

var parseDate= new Date("09-04-2000"); Format : DD-MM-YYYY

After executing above code I am getting output : Mon Sep 04 2000 00:00:00 which is wrong.

What is the correct way to get correct result in JS?

Shiladittya Chakraborty
  • 4,270
  • 8
  • 45
  • 94
  • 1
    Either change your date's format to parseable one, or use a lib like moment and provide the correct format for the date – baao Apr 09 '18 at 09:41
  • oh, right, so 09-04-2000 represents 9th April - rather than re-inventing the wheel ... try using momentjs library – Jaromanda X Apr 09 '18 at 09:42
  • Also note: that code will result in `InvalidDate` in firefox - so, I would recommend testing what you finally do in more than just one browser (Chrum, I'm guesding) – Jaromanda X Apr 09 '18 at 09:44
  • or ... `new Date("09-04-2000".split('-').reverse().join("-").concat('T00:00:00.000Z'))` – Jaromanda X Apr 09 '18 at 09:48

4 Answers4

0

You can use Moment.js or if you want a simple solution you can try the following:

function getDate(str){
    var splits = str.split('-');
    var date = new Date();
    date.setDate(+splits[0]);
    date.setMonth((+splits[1])-1);
    date.setYear(+splits[2]);
    return date;
}
Chirag Ravindra
  • 4,760
  • 1
  • 24
  • 35
0

use pure js,that is not so convenient like to_date(str,'dd-mm-yyyy'),try moment.js

let str="09-04-2000";//dd-mm-yyyy
let args=str.split(/-/g).reverse();
args[1]--;
console.log(new Date(...args));
xianshenglu
  • 4,943
  • 3
  • 17
  • 34
0

We can do in following way :

var dateString = "09-04-2018"
var birthDate = dateString.split("-");
birthDate = new Date(birthDate[2], birthDate[1] - 1, birthDate[0]);

Get reference from Click for more details

Shiladittya Chakraborty
  • 4,270
  • 8
  • 45
  • 94
0

Try this,

var today = new Date(); 

var dd = today.getDate(); 
var mm = today.getMonth()+1; //January is 0!  
var yyyy = today.getFullYear();  

if(dd<10){ dd='0'+dd; }  
if(mm<10){ mm='0'+mm; } 

var today = mm+'-'+dd+'-'+yyyy; 
document.getElementById("DATE").value = today;
Nadun Kulatunge
  • 1,567
  • 2
  • 20
  • 28