webForumDet fria alternativet

Datum problem (månad)

9 svar · 323 visningar · startad av Wiklund!!

Wiklund!!Medlem sedan juli 2002549 inlägg
#1

Jag har den här koden:

Day(Date()) & " " & MonthName(Month(Date())) & "" & right("0" & Hour(Time()),2) & ":" & right("0" & Minute(Time()),2)

Istället för att det ska dyka upp ex augusti, september osv skulle jag vilja korta ner dem till aug,sep,jan,feb osv..

Någon som vet hur man gör detta! Just det, en sak till om posten är inlagd den här dagen hur gör jag för att få ut "Idag kl 20.00" istället för ett långt datum..

Tack på förhand!

CatZMedlem sedan jan. 20022 440 inlägg
#2

red....

LarsGMedlem sedan dec. 200012 464 inlägg
#3
Day(Date()) & " " & left(MonthName(Month(Date())),3) & "" & right("0" & Hour(Time()),2) & ":" & right("0" & Minute(Time()),2)

Fråga 2:

Du har alltså en kolumn i en tabell i en databas som innehåller ett datumvärde?

if  datediff("d",cdate(rs("dateColumn")),date()) = 0 then
    response.write "Idag"
else
'skriv datum som annars
end if
'skriv ut tid
EkströmMedlem sedan feb. 20022 594 inlägg
Wiklund!!Medlem sedan juli 2002549 inlägg
#5

Jo jag vet, har testat den koden men jag får det inte att fungera! Det står att det är syntaxfel på den här raden:

Function ConvDate(dtmDatum, blnAddTime)

@ndersMedlem sedan juni 200032 969 inlägg
#6

Du har inte lagt funktionen i en loop?
Det får man inte göra.

Du får gärna kalla på funktionen i en loop, men en funktion med ett visst namn får bara finnas i ett exemplar.

Mvh,

Wiklund!!Medlem sedan juli 2002549 inlägg
#7

Jag testade och ta bort loopen, men tråkigt nog får jag inte till det endå :(

Koden ser ut så här:

<%
' Konverterar datum i NOW-format till "1 jan 2000 01:00" (med eller utan tid).

Function ConvDate(dtmDatum, blnAddTime)
Dim intDaysPrune, strDate, strTime, arrMonths
dtmDatum = RecSet("datum")
If isEmpty(dtmDatum) Or isNull(dtmDatum) Then Exit Function

intDaysPrune = DateDiff("d", dtmDatum, Now())
If intDaysPrune = 0 Then
	strDate = "Idag"
ElseIf intDaysPrune = 1 then
	strDate = "Igår"
Else
	arrMonths = Array("Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December")
	strDate = Day(dtmDatum) & " " & Lcase(Left(arrMonths(Month(dtmDatum) - 1), 3)) & " " & Year(dtmDatum)
End If
If blnAddTime Then
	strTime = " " & FormatDateTime(dtmDatum, 4)
End If
ConvDate = strDate & strTime

End Function
%>

RecSet("datum") innehåller ett "now" datum: 2002-08-24 00:20:07

Skulle vara jättetacksam om någon kunde hjälpa mig att få till scriptet!

icaaqMedlem sedan okt. 20005 273 inlägg
#8

Hur anropar du funktionen?
Testa att göra så här

[red]
Response.Write ConvDate(RecSet("datum"), TRUE)
[/red]
[red]
<% 
' Konverterar datum i NOW-format till "1 jan 2000 01:00" (med eller utan tid). 
Function ConvDate(dtmDatum, blnAddTime) 
Dim intDaysPrune, strDate, strTime, arrMonths 

If isEmpty(dtmDatum) Or isNull(dtmDatum) Then Exit Function 

intDaysPrune = DateDiff("d", dtmDatum, Now()) 
If intDaysPrune = 0 Then 
strDate = "Idag" 
ElseIf intDaysPrune = 1 then 
strDate = "Igår" 
Else 
arrMonths = Array("Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December") 
strDate = Day(dtmDatum) & " " & Lcase(Left(arrMonths(Month(dtmDatum) - 1), 3)) & " " & Year(dtmDatum) 
End If 
If blnAddTime Then 
strTime = " " & FormatDateTime(dtmDatum, 4) 
End If 
ConvDate = strDate & strTime 
End Function 
%> 
[/red]
Wiklund!!Medlem sedan juli 2002549 inlägg
#9

Tack så mycket.. Det fungerar fin fint =)

icaaqMedlem sedan okt. 20005 273 inlägg
#10

Härligt.... :)

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