Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion GroupsGeneralPHPASPPerlColdFusionFlashHTML, CSS, ScriptsBrowsers

Webmaster Forum / HTML, CSS, Scripts / JavaScript / September 2005



Tip: Looking for answers? Try searching our database.

Y2K problem with script?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
none@of.your.biz.nes - 29 Sep 2005 23:47 GMT
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 bharold@indyunix.iupui.edu 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.
Lee - 30 Sep 2005 00:10 GMT
none@of.your.biz.nes said:

>// Don't change these
>
>// These get the current year, month, and date
>
>        var thisyear = today.getYear()

Change that to:

        var thisyear = today.getFullYear();
none@of.your.biz.nes - 30 Sep 2005 03:18 GMT
Thursday September 29 2005 16:10, Lee wrote to All:

>> var thisyear = today.getYear()

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.
RobG - 30 Sep 2005 00:13 GMT
> 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/comp.lang.javascript/browse_frm/thread/3fad1afb
8207408b/5ff2ae7a62b8b319?q=getFullYear&rnum=1&hl=en#5ff2ae7a62b8b319
>

"Who's fault: different displays of date"
<URL:http://groups.google.co.uk/group/comp.lang.javascript/browse_frm/thread/eff514c7
40a32ae2/a5e8b6192b35b610?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.

[...]

Signature

Rob

Dr John Stockton - 30 Sep 2005 23:43 GMT
JRS:  In article <GoldED.200509291850588800.none@of.your.biz.nes>, dated
Thu, 29 Sep 2005 18:47:19, seen in news:comp.lang.javascript,
none@of.your.biz.nes <DAMN.SPAMMERSnone.of@your.bis.nes> posted :

>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.

Signature

© John Stockton, Surrey, UK.  ?@merlyn.demon.co.uk   Turnpike v4.00   IE 4 ©
<URL:http://www.jibbering.com/faq/>  JL/RC: FAQ of news:comp.lang.javascript
<URL:http://www.merlyn.demon.co.uk/js-index.htm> jscr maths, dates, sources.
<URL:http://www.merlyn.demon.co.uk/> TP/BP/Delphi/jscr/&c, FAQ items, links.

 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.