I would like to get the current date/time stamp of the server or client in ISO8601 format (ex. 31 Dec 2009, 02:53). I know that server time can be observed using PHP and brought into the DOM using jQuery $.getJson. Client side time can be recorded from the browser using javascript/jQuery. I want the time stamp to be static (not dynamic/real-time). Im php/JS newbie and would greatly appreciate your help. Thanks.
2 Answers
For JavaScript just create a new Date
object like this
var currentDate = new Date();
and then you can construct your date in any format you want using the methods that Date
provides. See this reference for the complete list of methods you can use.
In your case you could do something like this:
var months = Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
var currentDate = new Date();
var formatedDate = currentDate.getDate() + ' ' + months[currentDate.getMonth()] + ' ' + currentDate.getFullYear() + ' ' + currentDate.getHours() + ':' + currentDate.getMinutes();
As for PHP it's as simple as this:
$formatedDate = date("c");
See this page for full reference on the Date()
function.
-
2In PHP, Date("j M Y H:i") produces a date string formatted like "21 Aug 2012 23:48". This is certainly not ISO8601 format which was requested by the asker. ISO8601 format can be achieved with a simple date("c"). - @MagicMushroom Commented Aug 21, 2012 at 23:56