webForumDet fria alternativet

Hjälp med datum

ASP

16 svar · 510 visningar · startad av Vinnaren

Medlem sedan sep. 2005833 inlägg
Frågan#1

Hej

Jag behöver lite hjälp med en datumfunktion.
Jag vill ha en almenacka som kunden kan gå in och välja datum i, samt det valda datumet ska skrivas ut i en textbox med formatet yyyy-mm-dd.
Det ska även skrivas ut i detta format om man har en engelsk version av windows.

Undrar då hur man löser detta på ett smidigt sätt?

Tacksam för all hjälp jag kan få :bire

Medlem sedan juni 20006 022 inlägg
#2

överst i filen:

<% Session.lcid = 1053 %>
Medlem sedan sep. 2005833 inlägg
#3

tack :i

Då var den delen klar. Nu är det bara almenackan kvar. Jag vill ha en liten ruta som kommer fram som är almenackan som man kan trycka på ett datum som sedan ska visas i textrutan. Frågan är hur löser jag detta? Finns det något enkelt sätt att lösa det på?

Medlem sedan dec. 1999653 inlägg
#4

Visa hur du bygt upp din kalender så kan vi säkert hjälpa dig med hur länken för att skicka datumet till textrutan ska se ut!

Medlem sedan sep. 2005833 inlägg
#5

har inte byggt någon kalender ännu, vet inte redigt hur jag ska bygga den. Finns det inget enkelt sätt att göra den på? I ASP.NET kan man ju bara skriva


<form runat="server"> 
<asp:calendar id="Kalender" runat="server"> </asp:calendar> 
</form>

Finns det ingen sådan funktion i vanliga asp, eller måste man koda allt själv?

Medlem sedan juni 200032 967 inlägg
#6

Nej, det finns ingen sådan funktion, men det finns grymt mycket folk som håller på med ASP, och därmed många färdiga kalendrar att ladda hem, om man inte vill ha en rolig utmaning själv. Så: Googla, och du skall segra! (y)

Medlem sedan sep. 2005833 inlägg
#7

okej.

Kan man göra någon funktion som kollar så att datumet man har angett i textrutan står i formatet yyyy-mm-dd???

Medlem sedan dec. 1999653 inlägg
#8

Jepp, med IsDate.. typ:

datum = "20006-12-15"
If IsDate(datum) = True Then Response.Write "jaa!"

denna genererar inte nånting, medans om du tar bort en 0:a i 20006 så får du ett rungande "jaa!" =)

Medlem sedan dec. 20025 483 inlägg
#9

Med re:

dim re
set re = new regexp
re.pattern = "^[1-9]\d{3}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$"
if not (isdate(<datum>) and re.test(<datum>)) then
  'fel!
end if
set re = nothing
Medlem sedan dec. 1999653 inlägg
#10

En liten fråga bara, var skiljer det egentligen sig på ditt regular expression och IsDate?
För de gör väl samma sak? Vilka undantag har IsDate som RE täcker?

Medlem sedan dec. 20025 483 inlägg
#11

IsDate() kanske accepterar andra format än det Vinnaren är intresserad av. Är litet osäker dock. :)

Medlem sedan dec. 1999653 inlägg
#12

Jag _tror_ faktiskt att våra olika exempel genererar exakt samma sak, fast de är möjligt att @nders eller emission kommer och kör över mig för den kommentaren ;)

Jaja, Vinnaren, prova dig fram! =)

Medlem sedan juni 200032 967 inlägg
#13

nakoz skrev:

fast de är möjligt att @nders eller emission kommer och kör över mig för den kommentaren ;)

Tja, jag kan väl offra mig. :)

Begrunda följande exempel:

response.Write isdate("2005-12-02") & "<br>"
response.Write isdate("2/13/2006") & "<br>"

Mvh

Medlem sedan dec. 1999653 inlägg
#14

så egentligen är isdate nästan kraftfullare.. ? =)
och egentligen så ska inte ett datum enligt rad två kunna uppkomma om han har LCID som vi skrivit om högre i denna tråd?

Medlem sedan sep. 2005833 inlägg
#15

tack.

Kan man skriva denna kontroll även i Javascript? :stud

Medlem sedan maj 200010 687 inlägg
#16

Ungefär så här skulle den kunna fungera.

String.prototype.isDate = function()
{
	var isLeapYear = function(year)
	{
		return (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
	}
	
	var pattern = /^([0-9]{4})-([0-9]{2})-([0-9]{2})$/;
	var match = pattern.exec(this);
	if (!match) return false;
	if (match[2] < 1 || match[2] > 12) return false;
	var days = [31,(isLeapYear(match[1]) ? 29 : 28),31,30,31,30,31,31,30,31,30,31];
	return (match[3] >= 1 && match[3] <= days[match[2] - 1]);
}

alert("2006-02-29".isDate());
Medlem sedan sep. 2005833 inlägg
#17

oki, tack. Funkar kanon :bire

287 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
134 ms — deklarationer (db)
0 ms — hämta statistik (cache)
146 ms — hämta tråd, inlägg och bilagor (db)
138 ms — ändringar (db)