Y2K problem with script?

N

none

Below is an old count-up script that displays ok in MSIE with a bit of
experimenting, but NS shows negative values that make no sense. Anyone
know how to make it work ok in both?

=== Cut ===
<script language=JavaScript>
/*
Date Count-up 1.0
(C) Copyright 1996 Ben Harold
All rights Reserved
Feel free to use this script in your page under the folling
conditions :
1. Do not modify this script in any way (besides
following the
configuration directions) without my consent
2. Mail me at (e-mail address removed) if you use it
3. I am not held responsible for any thing that this
script may
do to your computer
*/

// Configuration Directions
// Don't change this
// This makes a date variable that is used to get the current date

today = new Date()

// Don't change these

// These get the current year, month, and date

var thisyear = today.getYear()
var thismonth = today.getMonth()
var thisdate = today.getDate()

// Change these
// These set the year, month, and date to count from
// NOTICE : var thatmonth should be a number between 0 and 11, not 1
and 12

var thatyear = 1995
var thatmonth = 10
var thatdate = 15

// Change this
// This is what the browser will display just before the years, months,
and dates
// NOTICE : make sure that there is a space after the last word of var
prestring

var prestring = " "

// Don't change these
// These set variables used by other parts of the script

var fromyears = (thisyear - thatyear)
var datenumber = (thisdate + thatdate)

// Don' change this
// This figures out how many days there are in the current month

if (thismonth == 0)
monthdates = (31)
else if (thismonth == 1)
monthdates = (28)
else if (thismonth == 2)
monthdates = (31)
else if (thismonth == 3)
monthdates = (30)
else if (thismonth == 4)
monthdates = (31)
else if (thismonth == 5)
monthdates = (30)
else if (thismonth == 6)
monthdates = (31)
else if (thismonth == 7)
monthdates = (31)
else if (thismonth == 8)
monthdates = (30)
else if (thismonth == 9)
monthdates = (31)
else if (thismonth == 10)
monthdates = (30)
else if (thismonth == 11)
monthdates = (31)

// Don't change this
// This figures out how many years it has been since thatyear

if (fromyears == 0)
yearssince = (prestring)

else if (fromyears == 1)
yearssince = (prestring + " year")

else yearssince = (prestring + fromyears + " years")

// Don't change this
// This figures out how many dates it has been since thatdate

if (thisdate > thatdate)
predatessince = (thisdate - thatdate)
else predatessince = (thisdate + monthdates - thatdate)
if (predatessince == 0)
datessince = ("no days.")
else if (predatessince == 1)
datessince = ("1 day.")
else datessince = (predatessince + " days.")

// Don't change this
// This figures out how many months it has been since thatmonth

if (thisyear > thatyear) {
if (thismonth >= thatmonth)
premonthssince = (thismonth -
thatmonth)
else premonthssince = (12 + thismonth -
thatmonth)
}

else premonthssince = (thismonth - thatmonth)

if (monthdates < datenumber)
premonthssincetwo = (premonthssince + 1)
else premonthssincetwo = (premonthssince)
if (premonthssincetwo == 0)
monthssince = (" ")
else if (premonthssincetwo == 1)
monthssince = ("1 month")
else monthssince = (premonthssincetwo +
"months")

// Don't change these
// These figure out what type of punctuation to use in the final
message

if (yearssince == prestring)
commaone = (" ")
else {
if (monthssince == " ")
(commaone = " and ")
else commaone = (", ")
}

if (commaone == " and ")
commatwo = (" ")
else if (commaone == ", ")
commatwo = (" and ")
else if (yearssince == prestring) {
if (monthssince == " ")
(commatwo = " ")
else commatwo = (" and ")
}

// Don't change this
// This assembles the final message

var finalstring = ""
finalstring += (yearssince)
finalstring += (commaone)
finalstring += (monthssince)
finalstring += (commatwo)
finalstring += (datessince)

// Don't change this
// This prints the final message to the browser screen

document.write(finalstring)
</script>
=== Cut ===


Kari Suomela

KARICO Business Services
Toronto, ON Canada
http://www.karico.ca

.... Never straighten a good waistline.
 
L

Lee

(e-mail address removed) said:
// Don't change these

// These get the current year, month, and date

var thisyear = today.getYear()

Change that to:

var thisyear = today.getFullYear();
 
R

RobG

Below is an old count-up script that displays ok in MSIE with a bit of
experimenting, but NS shows negative values that make no sense. Anyone
know how to make it work ok in both?

There have been two threads in the last few days on this, search for
getFullYear and sort by date.

"Date problem in Opera"
<URL:http://groups.google.co.uk/group/co...9?q=getFullYear&rnum=1&hl=en#5ff2ae7a62b8b319>

"Who's fault: different displays of date"
<URL:http://groups.google.co.uk/group/co...0?q=getFullYear&rnum=2&hl=en#a5e8b6192b35b610>


[...]
// These get the current year, month, and date

var thisyear = today.getYear()

Here's your problem ----------^^^^^^^

Use getFullYear(), but be aware that very old browsers will only support
getYear().

That caveat is added because if a date function misbehaves for any
reason, a visitor's confidence in your site is shaken - even a very
small number of failures may be unacceptable.

[...]
 
N

none

Thursday September 29 2005 16:10, Lee wrote to All:

L> Change that to:

L> var thisyear = today.getFullYear();

Thanks to all who replied. Works ok now.


KS

KARICO Business Services
Toronto, ON Canada
http://www.karico.ca

.... Sound and fury, signifying nothing.
 
D

Dr John Stockton

JRS: In article <[email protected]>, dated
Thu, 29 Sep 2005 18:47:19, seen in
Below is an old count-up script that displays ok in MSIE with a bit of
experimenting, but NS shows negative values that make no sense. Anyone
know how to make it work ok in both?

DO NOT just change getYear to getFullYear; the code would be rubbish
even if it were not bloated, though the results may be correct most of
the time (I don't see allowance for Leap Years).

Code posted to News should be executable as is, which means that it
should not be wrapped by the posting process.

Read the newsgroup FAQ; see below.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,537
Members
45,022
Latest member
MaybelleMa

Latest Threads

Top