Thursday, 13 December 2007

Display DateTime in client side Time zone


suppose you want to convert datetime in client side(browser) time zone and display it.
example take events, Events have date so that event date first you have to store it in database as GMT timezone
then write javascript function for onload event like this
function events()
{
var currentDate = new Date();
var offset = currentDate.getTimezoneOffset().toString();
new Ajax.Updater(‘events’, ‘/events/load_events?offset=’ + offset, {asynchronous:true, evalScripts:true}); return false;
}
The events.rhtml will be like this
<h1>Events</h1>
<div id=”events”></div>
In third line of javascript I am making an ajax call with updating “events” div tag.
This ajax will call the action “load_events” in controller “events”
events_controller.rb
def load_events
@events = Event.find(:all)
@offset = params[:offset].to_i
end
In view “load_evevnts.rhtml” calculate date with offset
<ul>
<% @events.each do |e| %>
<li><%= e.name %> on <%= (e.date – offset) %></li>
<% end %>
</ul>

No comments:

Post a Comment