2

How I will convert this time 11:34 to javascript timestamps. Any javascript functionality available for that.

I am trying to create a floting graph for that I am using Flot library. In my graph time on x axis and count on y axis. For creating data part I need to convert time to timestamp like that thay specified on API doc.

http://people.iola.dk/olau/flot/API.txt

This is my code

var datasets = {
    "usa": {
        label: "Logged Users",
        data: [[10:55, 4], [11:00, 1], [11:05, 4], [11:10, 2], [11:15, 3], [11:20, 1], [11:25, 5]]
    }
};

if (datasets.length > 0){
    $.plot($("#placeholder"), datasets, {
        yaxis: { min: 0,tickDecimals: 0 },
        xaxis: {  mode: "time",timeformat: "%H:%M" }
    });
}

It will not work because I specified exact time instead of a number. So I need to convert that to timestamps format.
Please help me.

Thanks

1
  • is it a timestamp of event recorded or what, describe more on what you want? Commented Feb 22, 2012 at 7:40

3 Answers 3

4

Use an instance of the Date object:

var sTime = '11:34';
var oDate = new Date();
oDate.setUTCHours(
    parseInt(sTime.substr(0, 2), 10),
    parseInt(sTime.substr(3, 2), 10),
    0,
    0
);
var sTimestamp = oDate.getTime();

Also see this example.

=== UPDATE ===

When the time is local time instead of UTC, then you can set the time with:

oDate.setHours(
    parseInt(sTime.substr(0, 2), 10),
    parseInt(sTime.substr(3, 2), 10),
    0,
    0
);

Also see this example.

P.s.: the result of getTime() is in milliseconds.

=== UPDATE ===

To map your current dataset you can use following script (with UTC; if you want local time remove the UTC in the setter):

var aCountries = [ "usa" ];
var oDate = new Date();
oDate.setSeconds(0, 0);
for (var i = 0; i < aCountries.length; i++) {
    datasets[aCountries[i]].data =
        datasets[aCountries[i]].data.map(function(oElement) {
            oDate.setUTCHours(
                parseInt(oElement[0].substr(0, 2), 10),
                parseInt(oElement[0].substr(3, 2), 10)
            );
            return [
                oDate.getTime()
                , oElement[1]
            ];
        });
}

Also see this example.

Sign up to request clarification or add additional context in comments.

1 Comment

Note that the timestamp always contains a "date" part (i.e. the current day). There is no way to create a "hour only" timestamp in JavaScript unless you create your own type.
0
    var now = new Date();

    now.format("m/dd/yy");

// Returns, e.g., 6/09/07

// Can also be used as a standalone function
dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");
// Saturday, June 9th, 2007, 5:46:21 PM

// You can use one of several named masks
now.format("isoDateTime");
// 2007-06-09T17:46:21

// ...Or add your own
dateFormat.masks.hammerTime = 'HH:MM! "Can\'t touch this!"';
now.format("hammerTime");
// 17:46! Can't touch this!

// When using the standalone dateFormat function,
// you can also provide the date as a string
dateFormat("Jun 9 2007", "fullDate");
// Saturday, June 9, 2007

// Note that if you don't include the mask argument,
// dateFormat.masks.default is used
now.format();
// Sat Jun 09 2007 17:46:21

// And if you don't include the date argument,
// the current date and time is used
dateFormat();
// Sat Jun 09 2007 17:46:22

// You can also skip the date argument (as long as your mask doesn't
// contain any numbers), in which case the current date/time is used
dateFormat("longTime");
// 5:46:22 PM EST

// And finally, you can convert local time to UTC time. Either pass in
// true as an additional argument (no argument skipping allowed in this case):
dateFormat(now, "longTime", true);
now.format("longTime", true);
// Both lines return, e.g., 10:46:21 PM UTC

// ...Or add the prefix "UTC:" to your mask.
now.format("UTC:h:MM:ss TT Z");
// 10:46:21 PM UTC

Use all date time example .,so use it.

Comments

-1

I've found the jQuery Globalization Plugin date parsing to work best. Other methods had cross-browser issues and stuff like date.js had not been updated in quite a while.

You also don't need a datePicker on the page. You can just call something similar to the example given in the docs:

$.parseDate('yy-mm-dd', '2007-01-26');

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.