webForumDet fria alternativet

Datum

3 svar · 315 visningar · startad av martinpartin

martinpartinMedlem sedan jan. 2001373 inlägg
#1

Hej högt ärade och respekterade WF-medlemmar!

Har ett problem:

Mitt datum ser ut så här: 13-07-2006
Jag skulle vilja ha en funktion som kollar om mitt datum är mindre än dagens datum eller är = dagens datum.

Tacksam för något som kan leda mig i rätt rikting.

J.N.Medlem sedan apr. 20031 660 inlägg
#2

HEJ!

Jag, och alla andra, tackar för de vackra orden! :birp

Bara för det var jag tvungen att dela med mig av min kunskap, även om den inte räcker för hela ditt problem.
Jag ser att just i detta fall har jag ett fast år, men det går givetvis att justera.

När jag validerar datum använder jag följande kod, javascript kombinerat med VB-Script:

function validera_form(){
	pa = new Date("2006", form.pa_man.value-1, form.pa_dag.value);
	form.hid_pa.value = "2006-" + form.pa_man.value + "-" + form.pa_dag.value;
	av = new Date("2006", form.av_man.value-1, form.av_dag.value);
	form.hid_av.value = "2006-" + form.av_man.value + "-" + form.av_dag.value;
	if (av < pa){
		alert("\"Till-och-med-datum\" måste vara efter \"Från-och-med-datum\".");
		form.av_dag.focus();
		return (false);
	}
}

och i formuläret:
<form method="POST" action="sida.asp" OnSubmit="return val(this)" name="form">
<input type="hidden" name="hid_av" value=""><input type="hidden" name="hid_pa" value="">
<table width="500" border="0" align="center">
<tr>
	<td align="right">Från och med</td>
	<td>Dag<select name="pa_dag" size="1">
	<%For i = 1 to 31%><option value="<%=i%>"><%=i%></option>
	<%Next%></selectMånad<select name="pa_man" size="1">
	<%For i = 1 to 12%><option value="<%=i%>"><%=MonthName(i)%></option>
	<%Next%></select>
	</td>
</tr>
<tr>
	<td align="right">Till och med</td>
	<td>Dag<select name="av_dag" size="1">
	<%For i = 1 to 31%><option value="<%=i%>"><%=i%></option>
	<%Next%></select>Månad<select name="av_man" size="1">
	<%For i = 1 to 12%><option value="<%=i%>"><%=MonthName(i)%></option>
	<%Next%></select>
	</td>
</tr>
</table>

Sedan på sparasidan (Vb-Script):
'genom dateserial först, blir 31/4 1/5 istället
datumpa = Datevalue(DateSerial(2006,pa_man,pa_dag))
datumav = Datevalue(DateSerial(2006,av_man,av_dag))
martinpartinMedlem sedan jan. 2001373 inlägg
#3

OK... vi börjar här då...
Hur formaterar jag om ett datum ?
DD-MM-YYYY till YYYY-MM-DD ?

type som FormatDateTime i Vbscript

J.N.Medlem sedan apr. 20031 660 inlägg
#4

Tyvärr finns det inget FormatDateTime i Javascript, man får göra det för hand och definiera det som datum med Date(), tex som jag skrev.

pa = new Date("2006", form.pa_man.value-1, form.pa_dag.value);

På nätet finns det säkert massor av hemmagjorda FormatDateTime-liknande funktioner för Javascript.

130 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)