PDA

View Full Version : Javascript Date Script


Doug E
2007-09-21, 10:10 AM
How would I make this script that displays the current date, into something that shows the date 1 week ago? Also, so I understand the different commands, the dates for 3 days ago, 2 weeks ago, 1 month ago and say 3 years ago, just to mix it up a bit. Or is it even possible with this script?

<script language="Javascript">
<!--
/*
Today's date script
Visit java-scripts.net or
http://wsabstract.com for this script
*/

var dayName = new Array ("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")

var monName = new Array ("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")

var now = new Date

document.write("Today is " + dayName[now.getDay()] + ", " + monName[now.getMonth()] + " "+now.getDate() +".")

//-->
</script>

Ohh yea, and its creation is credited to http://www.wsabstract.com/

Llam4
2007-09-21, 10:52 PM
now.get<b>unit</b> returns a number. 1-31 for day, 1-12 for months. Just use those variable instead of the clunky now.getDate() and add or subtract directly.

For example:

If you want to show one year ahead, 2 months behind and 8 days ahead, you'd change

document.write("Today is " + dayName[now.getDay()] + ", " + monName[now.getMonth()] + " "+now.getDate() +".")


to

document.write("Today is " + dayName[now.getDay()+8] + ", " + monName[now.getMonth()-2] + " " + now.getDay()+8 + ", " + now.getYear()+1 +".")

AndySvk
2007-09-28, 02:30 PM
I am not sure if the above answer would work .. I think it does not ..
cause dayName[now.getDay()+8] would look for an item in array with index 8+ and there are just 7 days (indexes 0-6) so it would produce an error ..

you can rather use this simple code

<script>

// current date
var now = new Date();

// our new date
var newDate = new Date();

// let's move 3 days to past
newDate.setDate(now.getDate()-3);

// now let's add 5 hours
newDate.setHours(now.getHours()+5);

// we can add 2 months as well
newDate.setMonth(now.getMonth()+2);

</script>

I think you get the point ...

Doug E
2007-10-09, 12:56 AM
Hi thanks very much for the replies guys. I ask these questions than get busy with something else and forget all about them until I have another question.

Im going to play with the code this week and let you know what works best :)