Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Extract date and time from string

I have a date\time string:

Fri Feb 08 2013 09:47:57 GMT +0530 (IST)

I need to extract the date (02/08/2013) and time (09:47 am) parts and store them in two variables.

Is there an efficient way to do it using JavaScript?

I have written the following code:

var day = elementDate.getDate(); //Date of the month: 2 in our example
            var monthNo = elementDate.getMonth(); //Month of the Year: 0-based index, so 1 in our example
            var monthDesc = {'0':'January', '1':'February'}; //, "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
            var year = elementDate.getFullYear() //Year: 2013
            var hours = elementDate.getHours();
            var mins = elementDate.getMinutes();
            var lDateValue = (year.toString() + "-" + monthNo.toString() + "-" + day.toString());

document.getElementById("lDate").value = lDateValue;

I have this in my HTML:

<input type="date" name="name" id="lDate" class="custom" value=""/>
                <input type="time" name="name" id="lTime" class="custom" value=""  />

The fields are not getting updated. Am I missing something?

like image 841
SuperFunMan Avatar asked Feb 09 '13 10:02

SuperFunMan


1 Answers

The Date constructor is very good at creating dates from strings:

Use the following:

// This could be any Date String
var str = "Fri Feb 08 2013 09:47:57 GMT +0530 (IST)";
var date = new Date(str);

This will then give you access to all the Date functions (MDN)

For example:

var day = date.getDate(); //Date of the month: 2 in our example
var month = date.getMonth(); //Month of the Year: 0-based index, so 1 in our example
var year = date.getFullYear() //Year: 2013
like image 116
phenomnomnominal Avatar answered Oct 11 '22 17:10

phenomnomnominal