Team:KULeuven/Tools/New Day/Date Retriever

From 2008.igem.org

(Difference between revisions)
m
m
Line 1: Line 1:
<html>
<html>
<script type="text/javascript">
<script type="text/javascript">
-
 
+
/*
 +
* @author KULeuven
 +
*/
var monthNames = new Array('January', 'February', 'March', 'April', 'May',
var monthNames = new Array('January', 'February', 'March', 'April', 'May',
'June', 'July', 'August', 'September', 'October', 'November', 'December');
'June', 'July', 'August', 'September', 'October', 'November', 'December');
Line 35: Line 37:
function datePast(ndays) {
function datePast(ndays) {
var pastDate = new Date();
var pastDate = new Date();
 +
// getDate, setDate methods are rubbish, stick to numeric substraction!
var ntime = pageDate().getTime() - ndays*86400*1000;
var ntime = pageDate().getTime() - ndays*86400*1000;
pastDate.setTime(ntime);
pastDate.setTime(ntime);
Line 44: Line 47:
function dateFuture(ndays) {
function dateFuture(ndays) {
var futureDate = new Date();
var futureDate = new Date();
 +
// getDate, setDate methods are rubbish, stick to numeric adding!
var ntime = pageDate().getTime() + ndays*86400*1000;
var ntime = pageDate().getTime() + ndays*86400*1000;
futureDate.setTime(ntime);
futureDate.setTime(ntime);
Line 56: Line 60:
switch(dayOfWeek) {
switch(dayOfWeek) {
 +
// case 0 is Sunday, substract 9 days
case 0: previousWeekFriday = datePast(9); break;
case 0: previousWeekFriday = datePast(9); break;
default: previousWeekFriday = datePast(dayOfWeek + 2); break;
default: previousWeekFriday = datePast(dayOfWeek + 2); break;
Line 69: Line 74:
switch(dayOfWeek) {
switch(dayOfWeek) {
 +
// case 0 is Sunday, add 1 day
case 0: nextWeekMonday = dateFuture(1); break;
case 0: nextWeekMonday = dateFuture(1); break;
default: nextWeekMonday = dateFuture(8 - dayOfWeek); break;
default: nextWeekMonday = dateFuture(8 - dayOfWeek); break;
Line 82: Line 88:
switch(dayOfWeek) {
switch(dayOfWeek) {
 +
// case 0 is Sunday, substract 2 days
case 0: thisFriday = datePast(2); break;
case 0: thisFriday = datePast(2); break;
 +
// case 6 is Saturday, substract 1 day, can also be merged into default, in which case we look -1 day // ahead, corresponding to going 1 day back in the past
case 6: thisFriday = datePast(1); break;
case 6: thisFriday = datePast(1); break;
default: thisFriday = dateFuture(5 - dayOfWeek); break;
default: thisFriday = dateFuture(5 - dayOfWeek); break;
Line 92: Line 100:
/* Converts a date into a valid url for the KULeuven wiki and loads the page */
/* Converts a date into a valid url for the KULeuven wiki and loads the page */
function goToDate(date) {
function goToDate(date) {
 +
// base wiki url of KULeuven
var URL = "https://2008.igem.org/Team:KULeuven/";
var URL = "https://2008.igem.org/Team:KULeuven/";
URL += date.getDate();
URL += date.getDate();
URL += '_';
URL += '_';
 +
// month indexing of Date object index matching to array monthNames indexing
URL += monthNames[date.getMonth()];
URL += monthNames[date.getMonth()];
URL += '_';
URL += '_';
URL += date.getFullYear();
URL += date.getFullYear();
 +
// redirect browser to desired day
window.location.href = URL;
window.location.href = URL;
}
}

Revision as of 17:56, 1 August 2008

<< return to notebook return to homepage >>
< previous friday ← yesterday tomorrow → next monday >