@ndersMedlem sedan juni 200026 914 inlägg
Hej, vänner. :)
Jag har variabler som innehåller år, månad och dag, och vill veta om detta datum är inom den närmaste veckan. Hur gör jag?
intYear = 2004;
intMonth = 2;
intDay = 14;
if (datum_skapat_av_info_ovan <= dagens_datum_plus_7_dagar) {
// Fjohooo! :)
}
else {
// Fjähäää! :(
}
Månad 2 är alltså mars för den som undrar. ;)
Mvh och tpf,
J.N.Medlem sedan apr. 20031 660 inlägg
HEJ!
Eftersom jag får datum via sex dropdowns ((yy++mm+dd)x2) löser jag det genom att sätta ihop datumet manuellt, och jämför dem.
Så enkelt är det faktiskt!
pa = new Date(form.pa_ar.value, form.pa_man.value-1, form.pa_dag.value);
form.hid_pa.value = form.pa_ar.value + "-" + form.pa_man.value + "-" + form.pa_dag.value;
av = new Date(form.av_ar.value, form.av_man.value-1, form.av_dag.value);
form.hid_av.value = form.av_ar.value + "-" + form.av_man.value + "-" + form.av_dag.value;
if (av < pa){
alert("The removal-date must be after the release-date.");
form.av_dag.focus();
return (false);
}
lägger in det sammansatta datumet i hidden fields för nästa sida
<input type="hidden" name="hid_av" value=""><input type="hidden" name="hid_pa" value="">
@ndersMedlem sedan juni 200026 914 inlägg
Hur får jag veta om givet datum är inom en vecka från dagens datum?
Kan man bara köra en liten subtraktion med datumobjekten?
J.N.Medlem sedan apr. 20031 660 inlägg
HEJ!
Jag ser nu att jag endast svarade på halva frågan, om ens det :OO
Jag har aldrig behövt prova om javascript-Date fixar minskningar eller ökningar på samma enkla sätt som i VB.
Du får troligen räkna om båda datum till millisekunder och sedan kontrollera om den siffran är större/mindre?
Detta svar har faktiskt inget med mitt tidigare svar att göra, förutom < / > :r
SPiNMedlem sedan mars 20005 832 inlägg
nu = new Date();
omenvecka = new Date( nu.getYear(), nu.getMonth(), nu.getDate()+8 );
inmatat = new Date( "2004", "March", "16" );
if( inmatat < omenvecka ) {
/* Fjo. */
} else {
/* Fjä. */
}
:q :)
@ndersMedlem sedan juni 200026 914 inlägg
Tack, SPiN!
Det fjungerar finfint! :bire
@ndersMedlem sedan juni 200026 914 inlägg
Det fjungerar finfint... I IE.
Men i Mozilla fjungerar det inte alls. ;)
Så här ser det ut:
nu = new Date();
dteValidDate = new Date( nu.getYear(), nu.getMonth(), nu.getDate()+8 );
dteThisDate = new Date( 2004, 2, 15 );
if (dteThisDate < dteValidDate) {
// hit ska vi ju komma!
} else {
// men vi hamnar här med geckoläsare!
}
Mvh
SPiNMedlem sedan mars 20005 832 inlägg
nu = new Date();
dteValidDate = new Date( nu.getYear(), nu.getMonth()+1, nu.getDate()+8 );
dteThisDate = new Date( 2004, 2, 15 );
if (dteThisDate < dteValidDate) {
// hit ska vi ju komma!
} else {
// men vi hamnar här med geckoläsare!
}
Månad ska tydligen plussas på med 1 för att få nuvarande månad, enligt standard. Annars vet jag inte varför det inte fungerar - det följer standard till punkt och pricka.
@ndersMedlem sedan juni 200026 914 inlägg
Hmm. Knepigt. Så här ser datumen ut:
Mozilla Fajerbörd skrev:
dteValidDate: Wed Mar 19 0104 00:00:00 GMT+0100
dteThisDate: Mon Mar 15 2004 00:00:00 GMT+0100
Internet Explorer skrev:
dteValidDate: Fri Mar 19 00:00:00 UTC+0100 2004
dteThisDate: Mon Mar 15 00:00:00 UTC+0100 2004
Varför blir det fel år när jag använder Firebird???
nikoMedlem sedan juni 20022 415 inlägg
Varför blir det fel år när jag använder Firebird???
Därför att FireBird returnerar "104" (antal år sedan 1900) i new Date().getYear(). Medan IE inte gör det.
@ndersMedlem sedan juni 200026 914 inlägg
Jo, men frågan är varför. Verkar extremt kass.
Hur gör jag då detta script oberoende av om man använder IE eller geckoläsare?
dectgapMedlem sedan sep. 20021 542 inlägg
nikoMedlem sedan juni 20022 415 inlägg
@ndersMedlem sedan juni 200026 914 inlägg
Jamen sådärja! :D
Tack för hjälpen SPiN, niko och dectgap! (y)
Mvh