1

I have a JSON source that sends its data that I display on my web page. Problem is, the Date part that it is returning is some sort of a javascript object.

Please look at the sample response.

dteInstallDate
 date   16
 day    4
 hours   0
 minutes   0
 month   8
 nanos   0
 seconds   0
 time   1284566400000
 timezoneOffset -480
 year   110

When I try to print the object as console.log. It prints

data.resource_data.dteInstallDate.toString()
[object Object]

My problem is that I want to set this JSON response into my Jquery hidden input it updates the data into Object Object.

$("div#pmItems").find("#dteInstallDate").val(data.resource_data.dteInstallDate);

I am having thoughts on how to send Date object from Server Side into Javascript. Should I just convert it to string or send it as a long value. Which one do you think is better?

I have Spring MVC as my backend

1
  • please put JSON format sample. Commented Sep 22, 2010 at 2:41

1 Answer 1

2

You have a JSON source, correct? JSON is simply a notational standard for the purpose of cross-language communication. While a JSON object has the same notation as a shorthand-declared Javascript object, it is really just a representation of any object in any language. If you were to get a JSON feed that looked like this:

{
    "dteInstallDate":
    {
        "date"      : 16,
        "day"       : 4,
        "hours"     : 0,
        "month"     : 8,
        "nanos"     : 0,
        "seconds"   : 0,
        "time"      : 1284566400000,
        "timezoneOffset": -480,
        "year"      : 110
    }
}

In Javascript, all you'd have to do is call up the dteInstallDate.time property and put it into a new Date() object. A working example is here:

http://jsfiddle.net/kAxfY/

As you can see, the time is a little off what they say...I tried fooling around with the timezoneOffset to make it more accurate, but I couldn't. Typically, timezone offsets are done in minutes, so -480 would mean that it's -480/60 = -8 hours behind GMT. For more info on the Javascript Date object, see this page:

http://www.w3schools.com/jsref/jsref_obj_date.asp

Edit: and perhaps a bit more toward the point of your post...it doesn't matter how you send this data across to the browser, as long as enough information is there to create a Date object in Javascript. The four options for creating the date object are:

//no argument means it will create a date representing the local time on the machine on which the browser is running
var d = new Date();

//milliseconds
var d = new Date(1284566400000);

//a string
var d = new Date("October 13, 1975 11:13:00");

//giving precise values for each unit of time
var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.