webForumDet fria alternativet

Tid, vecka, datum, dag

JavaScript

3 svar · 828 visningar · startad av Meng

Medlem sedan feb. 2003549 inlägg
Frågan#1

Kalla mig idiot men jag är värsta nybörjaren när det gäller allting utom html, design och flash.

Jag behöver ett simpelt script som visar dag, vecka, datum, och tid med eller utan sekunder. Det kvittar. Det enda detta scriptet inte får vara är VBscript.

Jag har letat genom forumet så gott det går men jag har inte hittat något liknande, fast som jag vet är ganska gammalt och simpelt.

Tack för snabbt svar.

Medlem sedan apr. 20003 174 inlägg
#2

Resultat: Måndagen den 2 Juni 2003, kl. 11:18:00

[red]<script type="text/javascript">
<!--

	function pads(num) { return (num<10) ? '0' + num : num; }
	var weekdays = new Array("Sön","Mån","Tis","Ons","Tors","Fre","Lör");
	var months = new Array("Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December");

	da = new Date();
	day = da.getDay();
	date = da.getDate();
	month = months[da.getMonth()]
	year = da.getYear();
	hour = pads(da.getHours());
	minute = pads(da.getMinutes());
	second = pads(da.getSeconds());

	document.write(weekdays[day] +"dagen den "+ date +" "+ month +" "+ year +", kl. "+ hour +":"+ minute +":"+ second);

// -->
</script>[/red]

För att få fram veckan för aktuellt datum kan du använda detta:

[red]<script type="text/javascript">
<!--

function y2k(number) { return (number < 1000) ? number + 1900 : number; }
function getWeek(year,month,day) {
	var when = new Date(year,month,day);
	var newYear = new Date(year,0,1);
	var modDay = newYear.getDay();
	if (modDay == 0) modDay=6; else modDay--;

	var daynum = ((Date.UTC(y2k(year),when.getMonth(),when.getDate(),0,0,0) -
		Date.UTC(y2k(year),0,1,0,0,0)) /1000/60/60/24) + 1;

	if (modDay < 4 ) {
		var weeknum = Math.floor((daynum+modDay-1)/7)+1;
	}
	else {
		var weeknum = Math.floor((daynum+modDay-1)/7);
		if (weeknum == 0) {
			year--;
			var prevNewYear = new Date(year,0,1);
			var prevmodDay = prevNewYear.getDay();
			if (prevmodDay == 0) prevmodDay = 6; else prevmodDay--;
			if (prevmodDay < 4) weeknum = 53; else weeknum = 52;
		}
	}

	return + weeknum;
}

var now = new Date();
document.write('Vecka: '+ getWeek(y2k(now.getYear()),now.getMonth(),now.getDate()));

//-->
</script>[/red]
Medlem sedan feb. 2003549 inlägg
#3

Tackar tackar =), hur får jag tiden att uppdateras en gång i minuten och hur tar jag bort sekunderna?

Blir väl nån form av refresh.. funkar denna kanske?

<meta http-equiv="refresh" content="60;url=forside-top.html">
Medlem sedan feb. 2003549 inlägg
#4

Ändrade lite på scriptet. Detta är väl felfritt?

<script type="text/javascript">
<!--

	function pads(num) { return (num<10) ? '0' + num : num; }
	var weekdays = new Array("Søn","Man","Tirs","Ons","Tors","Fre","Lør");
	var months = new Array("Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December");

	da = new Date();
	day = da.getDay();
	date = da.getDate();
	month = months[da.getMonth()]
	year = da.getYear();
	hour = pads(da.getHours());
	minute = pads(da.getMinutes());
	second = pads(da.getSeconds());

	document.write(weekdays[day] +"dag den "+ date +" "+ month +" "+ year +", kl. "+ hour +":"+ minute);

// -->
</script>
376 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
125 ms — hämta statistik (db)
126 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)