Forum: Ruby on Rails Live Clock and Date on Rails

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Ed3050ec0a96c03ef1304e7ad1ff46fb?d=identicon&s=25 The Neurochild (Guest)
on 2008-11-21 22:23
(Received via mailing list)
Hello, guys.

Is there any example of a live clock and date on Rails? I'm using one
made on Javascript, but the main problem i'm having is when using any
Linux distro, which seems to show date incorrectly. For an example,
instead of today, it shows tomorrow date as today's date.

As I know JS is client-sided, it's impossible to change that. It's not
noticeable on Windows, which shows the date just fine. I want to know
if there's an app, command or something to show the server date and
time... live.

I hope I'm not asking too much, but I need help on this.

Greetings...

The Neurochild
4dd8ed31b9effe2ee868e4cf78495c98?d=identicon&s=25 James Mitchell (Guest)
on 2008-11-21 22:27
(Received via mailing list)
Are you saying that everyone who looks at your app from a linux
machine sees the date as tomorrow?  What about people with Macs?  I
heard that Macs show the date as next week.  People with Macs are
always ahead of curve :)

Seriously though ...  maybe you loaded the page from a linux box that
had the date wrong.  Can you verify?


--
James Mitchell
Ed3050ec0a96c03ef1304e7ad1ff46fb?d=identicon&s=25 The Neurochild (Guest)
on 2008-11-21 22:34
(Received via mailing list)
On Nov 22, 4:27 pm, "James Mitchell" <jmitc...@gmail.com> wrote:
> Seriously though ...  maybe you loaded the page from a linux box that
> had the date wrong.  Can you verify?

Yes, I double checked it and Linux shows today's date but when the
Rails app is running with the JS live clock in Linux, it shows
tomorrow's.

I'm using Debian 4, and it also happens in Ubuntu. Word.

Greetings...
Bee69cfed999cd13e3bff73d472a39ee?d=identicon&s=25 Hassan Schroeder (Guest)
on 2008-11-21 22:57
(Received via mailing list)
On Fri, Nov 21, 2008 at 1:33 PM, The Neurochild <neurochild@gmail.com>
wrote:

> Yes, I double checked it and Linux shows today's date but when the
> Rails app is running with the JS live clock in Linux, it shows
> tomorrow's.
>
> I'm using Debian 4, and it also happens in Ubuntu. Word.

Can you post a URL to see this, or at least the JS code for the clock?

--
Hassan Schroeder ------------------------ hassan.schroeder@gmail.com
Ed3050ec0a96c03ef1304e7ad1ff46fb?d=identicon&s=25 The Neurochild (Guest)
on 2008-11-21 23:00
(Received via mailing list)
Sure, why not?

///////////////////////////////////////////////////////////
// "Live Clock Advanced" script - Version 1.0
// By Mark Plachetta (astroboy@zip.com.au)
//
// Get the latest version at:
// http://www.zip.com.au/~astroboy/liveclock/
//
// Based on the original script: "Upper Corner Live Clock"
// available at:
// - Dynamic Drive (http://www.dynamicdrive.com)
// - Website Abstraction (http://www.wsabstract.com)
// ========================================================
// CHANGES TO ORIGINAL SCRIPT:
// - Gave more flexibility in positioning of clock
// - Added date construct (Advanced version only)
// - User configurable
// ========================================================
// Both "Advanced" and "Lite" versions are available free
// of charge, see the website for more information on the
// two scripts.
///////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////
/////////////// CONFIGURATION /////////////////////////////

  // Set the clock's background color:
  var myback_color = "#FFFFFF";

  // Set the width of the clock (in pixels):
  var mywidth = 300;

  // Display the time in 24 or 12 hour time?
  // 0 = 24, 1 = 12
  var my12_hour = 1;

  // How often do you want the clock updated?
  // 0 = Never, 1 = Every Second, 2 = Every Minute
  // If you pick 0 or 2, the seconds will not be displayed
  var myupdate = 1;

  // Display the date?
  // 0 = No, 1 = Yes
  var DisplayDate = 1;

/////////////// END CONFIGURATION /////////////////////////
///////////////////////////////////////////////////////////

// Browser detect code
        var ie4=document.all
        var ns4=document.layers
        var ns6=document.getElementById&&!document.all

// Global varibale definitions:

  var dn = "";
  var mn = "";
  var old = "";

// The following arrays contain data which is used in the clock's
// date function. Feel free to change values for Days and Months
// if needed (if you wanted abbreviated names for example).
  var DaysOfWeek = new Array(7);
    DaysOfWeek[0] = "Domingo";
    DaysOfWeek[1] = "Lunes";
    DaysOfWeek[2] = "Martes";
    DaysOfWeek[3] = "Mi&eacute;rcoles";
    DaysOfWeek[4] = "Jueves";
    DaysOfWeek[5] = "Viernes";
    DaysOfWeek[6] = "S&aacute;bado";

  var MonthsOfYear = new Array(12);
    MonthsOfYear[0] = "Enero";
    MonthsOfYear[1] = "Febrero";
    MonthsOfYear[2] = "Marzo";
    MonthsOfYear[3] = "Abril";
    MonthsOfYear[4] = "Mayo";
    MonthsOfYear[5] = "Junio";
    MonthsOfYear[6] = "Julio";
    MonthsOfYear[7] = "Agosto";
    MonthsOfYear[8] = "Septiembre";
    MonthsOfYear[9] = "Octubre";
    MonthsOfYear[10] = "Noviembre";
    MonthsOfYear[11] = "Deciembre";

// This array controls how often the clock is updated,
// based on your selection in the configuration.
  var ClockUpdate = new Array(3);
    ClockUpdate[0] = 0;
    ClockUpdate[1] = 1000;
    ClockUpdate[2] = 60000;

// For Version 4+ browsers, write the appropriate HTML to the
// page for the clock, otherwise, attempt to write a static
// date to the page.
  if (ie4||ns6) { document.write('<span id="LiveClockIE"
style="width:'+mywidth+'px; background-color:'+myback_color+'"></
span>'); }
  else if (document.layers) { document.write('<ilayer
bgColor="'+myback_color+'" id="ClockPosNS" visibility="hide"><layer
width="'+mywidth+'" id="LiveClockNS"></layer></ilayer>'); }
  else { old = "true"; show_clock(); }

// The main part of the script:
  function show_clock() {
    if (old == "die") { return; }

  //show clock in NS 4
    if (ns4)
                document.ClockPosNS.visibility="show"
  // Get all our date variables:
    var Digital = new Date();
    var day = Digital.getDay();
    var mday = Digital.getDate();
    var month = Digital.getMonth();
    var hours = Digital.getHours();
    var year = Digital.getYear();

    var minutes = Digital.getMinutes();
    var seconds = Digital.getSeconds();

    if (year < 1000) { year += 1900; }

  // Fix the "mn" variable if needed:
    if (mday == 1) { mn = "ro."; }

  // Set up the hours for either 24 or 12 hour display:
    if (my12_hour) {
      dn = "AM";
      if (hours > 12) { dn = "PM"; hours = hours - 12; }
      if (hours == 0) { hours = 12; }
    } else {
      dn = "";
    }
    if (minutes <= 9) { minutes = "0"+minutes; }
    if (seconds <= 9) { seconds = "0"+seconds; }

  // This is the actual HTML of the clock. If you're going to play
around
  // with this, be careful to keep all your quotations in tact.
    myclock = '';
    if (DisplayDate) { myclock += DaysOfWeek[day]+', '+mday+mn+' de
'+MonthsOfYear[month]+' de '+year; }
    myclock += '. ';
    myclock += hours+':'+minutes;
    if ((myupdate < 2) || (myupdate == 0)) { myclock += ':'+seconds; }
    myclock += ' '+dn;

    if (old == "true") {
      document.write(myclock);
      old = "die";
      return;
    }

  // Write the clock to the layer:
    if (ns4) {
      clockpos = document.ClockPosNS;
      liveclock = clockpos.document.LiveClockNS;
      liveclock.document.write(myclock);
      liveclock.document.close();
    } else if (ie4) {
      LiveClockIE.innerHTML = myclock;
    } else if (ns6){
      document.getElementById("LiveClockIE").innerHTML = myclock;
                }

  if (myupdate != 0) { setTimeout("show_clock()",ClockUpdate
[myupdate]); }
}
Bee69cfed999cd13e3bff73d472a39ee?d=identicon&s=25 Hassan Schroeder (Guest)
on 2008-11-22 00:15
(Received via mailing list)
On Fri, Nov 21, 2008 at 1:58 PM, The Neurochild <neurochild@gmail.com>
wrote:
>
> Sure, why not?

> // Browser detect code
>        var ie4=document.all
>        var ns4=document.layers
>        var ns6=document.getElementById&&!document.all

Wow, that's just scary old :-)

In any case, it works fine on my OS X box and an Ubuntu VM, so I'd
suggest you check the TZ settings on the systems you're seeing a
problem on.

HTH!
--
Hassan Schroeder ------------------------ hassan.schroeder@gmail.com
Ed3050ec0a96c03ef1304e7ad1ff46fb?d=identicon&s=25 The Neurochild (Guest)
on 2008-11-22 00:32
(Received via mailing list)
On 21 nov, 19:14, "Hassan Schroeder" <hassan.schroe...@gmail.com>
wrote:
> In any case, it works fine on my OS X box and an Ubuntu VM, so I'd
> suggest you check the TZ settings on the systems you're seeing a
> problem on.

As I said, even though I'm in Venezuela, the timezone in which my
computer is set, I'm still having the problem. (Time zone is -4:30GMT)

I just don't know what to do anymore. I insist, is there live clock in
Rails?

Greetings
4dd8ed31b9effe2ee868e4cf78495c98?d=identicon&s=25 James Mitchell (Guest)
on 2008-11-22 00:44
(Received via mailing list)
You don't seem to understand how this all works together.  Your rails
code on the server has nothing to do with the javascript that runs in
the browser other than what html and javascript that it might
generate.

There is nothing you can do in Rails that you also can't just hard
code in a simple html file, which you keep insisting shows the wrong
date.

It sounds like you just have some bad javascript code.  Have you tried
dropping in any one of the 10,000 javascript samples available from a
basic google search?

--
James Mitchell
Ed3050ec0a96c03ef1304e7ad1ff46fb?d=identicon&s=25 The Neurochild (Guest)
on 2008-11-22 00:53
(Received via mailing list)
I was hoping you can show me something. I know a live clock that works
with PHP/JS exists. I've seen it.

I'll stop right here, it seems there's nothing available here. I give
up.
Bee69cfed999cd13e3bff73d472a39ee?d=identicon&s=25 Hassan Schroeder (Guest)
on 2008-11-22 01:42
(Received via mailing list)
On Fri, Nov 21, 2008 at 3:31 PM, The Neurochild <neurochild@gmail.com>
wrote:

> As I said, even though I'm in Venezuela, the timezone in which my
> computer is set, I'm still having the problem. (Time zone is -4:30GMT)

No, I meant is there a difference between the system clock and the
display clock on your systems?

> I just don't know what to do anymore.

Well, the code you're using is incredibly archaic, but as I said -- it
works fine here. It really shouldn't be that hard to put some debug
statements into it and see where the discrepancy is coming from.

Good luck,
--
Hassan Schroeder ------------------------ hassan.schroeder@gmail.com
97f7778bd994b7e4c5ad025be0640bde?d=identicon&s=25 Andrius Chamentauskas (Guest)
on 2008-11-22 16:07
(Received via mailing list)
For a live clock it doesn't matter if it's PHP/JS or Rails/JS. If you
know working example with PHP/JS then it will work with Rails/JS. Live
clock is just JS script and the only thing it depends on is browser
implementation. Maybe you just have some archaic browser?
This topic is locked and can not be replied to.