ugrás a tartalomhoz

Adott dátum után következő első szerda JS-ben?

Anonymous · 2005. Dec. 11. (V), 18.29
Sziasztok!

Írok egy kalendáriumot, de most elakadtam. Nem tudom, hogyan kell azt meghatározni, hogy ha van egy dátum, pl. január 20, akkor az utánakövetkező első szerdán írjon ki egy üzenetet.
Segítsetek!
 
1

Dátum js

Anonymous · 2005. Dec. 12. (H), 00.19
Szia!

Ha dátummal dolgozol, gondolom belefutottál a Date objectbe. Ennek a getDay metódusa megmondja az aktuális nap kódját (0: vasárnap, 1: nétfő...). Ebből már tudod, hogy hány nappal később lesz szerda, hoozáadsz ennyi napot a dátumhoz, pl. a UNIX TIMESTAMP reprezentációval: Date.UTC().

Most hirtelen ennyi jut eszembe...

Bence
http://vbence.web.elte.hu
2

Ezt nem értem

Anonymous · 2005. Dec. 12. (H), 10.38
Ezt nem értem, küldjél egy példát.

Az idevágó sorok:

today=new Date();
if (today.getMonth() == 0 // Ez határozza meg a hónapot, tehát január
&& űútoday.getDate == 20 // Ez a napot, tehát 20.
dcocument.write("valami")
)

De hogyan egészítsem ki, hogy a következő szerdán jelennnjkem meg aaz üzenet?
3

php?

klimakiraly · 2005. Dec. 12. (H), 21.10
Helló!

Én nem értek a .js-hoz, igaz a php-hoz sem.

De ez müködik azért, igaz ez keddet ad!
<?php

  $hanyadik = date(w);

  switch ($hanyadik)  {
	case 0:
		$hanyadik = 2;
		break;
	case 1:
		$hanyadik = 1;
		break;
	case 2:
		$hanyadik = 0;
		break;
	case 3:
		$hanyadik = 6;
		break;
	case 4:
		$hanyadik = 5;
		break;
	case 5:
		$hanyadik = 4;
		break;
	case 6:
		$hanyadik = 3;
		break;
  }

  echo date ("Y.m.d", mktime (0,0,0,date("m"),date("d")+$hanyadik,date("Y")));

?>
K.K.
4

<Nincs cím>

Anonymous · 2005. Dec. 13. (K), 11.09
Nem vágom nagyon a PHP-t, JS-be nincs valakinek, esetleg hol találhatnék a neten példát?
5

JS dropdown

Anonymous · 2005. Dec. 13. (K), 22.00
Naszóval.

Kézel-lábbal elkészítesz egy Date objectet a kívánt dátummal. nevezzük date-nek.

var date = ...
var mainap = date.getDay();

// ennyi napra vagyunk a szerdától (vasárnap: 3, hétfő: 2, kedd: 1, szerda: 0, csütörtök: -1, péntek: -2, szombat: -3)
var tav = 3 - mainap;

// adjunk hozzá hetet (hogy ne legyen negatív), és nézzük a maradékot 7-tel (hogy ne legyen 7nél nagyobb szám). A következő számokat kapjuk: 3, 2, 1, 0, 6, 5, 4
tav = (tav + 7) % 7;

// ha pont ma szerda van, és azt akarjuk, hogy ilyenkor várjon a következőig:
if (tav == 0) tav = 7;

// dátum UTC formátumra konvertálása
var utc = Date.UTC(date.getYear(), date.getMonth(), date.getDate());

// a dátum növelése "tav"-nyi nappal (az utc másodpercben van kifejezve)
utc += tav * 60 * 60 * 24;

// visszaalakítás dátummá
var newDate = new Date(utc);

ha ezzel se tudsz semmit kezdeni, akkor levettem rólad a kezem!

Bence
http://vbence.web.elte.hu