Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Behöver lista 1 månads alla dagar

Postades av 2003-07-28 18:04:03 - Pelle Johansson, i forum asp - allmänt, Tråden har 5 Kommentarer och lästs av 959 personer

Hej, jag behöver en rutin som listar från dagens datum (eller något annat) en hel månads alla dagar förutom lördag och söndag och får inte riktigt till det. Jag känner att denna inte är idiotsäker och det måste den vara.

Rutinen måste klara skottår, årsövergångar och inte minst bli rätt. Är det någon som har en sådan rutin, kan optimera och finna de fel som förekommer?

Jag skulle även vilja skicka in en parameter för antalet dagar som skall visas, alltså inte från och tilldatum. Nu finns dock en sådan men jag tror denna rutin kan vara användbar för fler ändamål.

<code>
<%
Function NumDays(dtSelected)
'******* Function accepts a date

datetime = dateadd("d", -datepart("d",dtSelected)+1,dtSelected)
datetime = dateadd("m", 1, datetime)
datetime = dateadd("d", -1, datetime)
NumDays = datepart("d",datetime)

end function

%>

<html>
<head>
<title>31 dagar framåt</title>
</head>

<%

Sub DrawCalendar

startdate = "2004-02-11"

' startparametrar
currentmonth = month(startdate)
currentday = day(startdate)

' slutparametrar
endmonth = month(dateadd("m", 1, startdate))
endday = day(dateadd("m", 1, startdate))

' om årsskrifte
if endmonth < startmonth then
' då får vi göra lite annorlunda, men vad?
end if

dtyear = year(dateadd("yyyy",0,startdate))

dtdate = dateserial(dtyear,i,1)
startmonth = monthname(datepart("m",dtdate))

for i = currentmonth to currentmonth + 1

dtdate = dateserial(dtyear,i,1)
strdate = month(i)
intdays = numdays(dtdate)

response.write monthname(datepart("m",dtdate)) & " " & dtyear
response.write "<br>"

for j = currentday to intdays
showdays = showdays + 1

' månadsbyte
if monthname(datepart("m",dtdate)) <> startmonth then
if endmonth = 1 then
' ett årsskifte
currentday = 1
j = 1
if monthname(datepart("m",dtdate)) = "februari" then exit for
else
currentday = 1
end if
end if

' visa bara 31 dagar framåt i listan
if showdays > 31 then exit for

startmonth = monthname(datepart("m",dtdate))
dagnamn = weekdayname(weekday(dtDate))

if dagnamn <> "söndag" and dagnamn <> "lördag" then

lstDateList = lstDateList & "<option value=''>" & startmonth & dagnamn & "</option>" & vbCrLf

response.write weekdayname(weekday(dtDate))&" - "
response.write j & " " & startmonth & "<br>"

end if

dtDate = dateAdd("d",1,dtDate)
next

next


end Sub

' ritar ut de dagar så man kan debugga
DrawCalendar

%>

</body>
</html>

</code>

Tack på förhand


Svara

Sv: Behöver lista 1 månads alla dagar

Postades av 2003-07-28 23:59:53 - Andreas Hillqvist

Litet annat exempel:
<code>
Sub DrawCalendar(FirstDate)
Dim Value
Dim LastMonth
Dim CurrentMonth
FirstDate = CDate(FirstDate)

For Value = FirstDate To DateAdd("d", 31, FirstDate)
Select Case WeekDay(Value)
Case vbSunday, vbSaturday
Case Else
If LastMonth <> Month(Value) Then
CurrentMonth = monthname(Month(Value))
Debug.Print CurrentMonth & " " & Year(Value)
LastMonth = Month(Value)
End If
Debug.Print weekdayname(WeekDay(Value)) & " - " & Day(Value) & " " & CurrentMonth & "<br>"
End Select
Next
End Sub
</code>


Svara

Sv: Behöver lista 1 månads alla dagar

Postades av 2003-07-29 00:19:36 - Micke Hansson

Hejsan

Du har inte access till en SQL Server 2000 i systemet.. I såfall är det lätt att fixa en UDF som returnerar ett recordset med det du vill ha och låta SQL:en fixa problemen med skottår mm..

Detta exempel listar upp alla veckor på ett år..

CREATE FUNCTION dbo.fnYearweeks
(
@Year int
)

RETURNS @Weeks table([Week] int)

AS

BEGIN
DECLARE @Datecounter datetime

SET @Datecounter = CONVERT(varchar(4), @Year) + '-01-01'

WHILE DATEPART(yy, @Datecounter) = @Year
BEGIN
INSERT @Weeks ([Week]) VALUES (DATEPART(wk, @Datecounter))

SET @Datecounter = DATEADD(dd, 7, @Datecounter)
END

RETURN
END

Kom ihåg att använda SET DATEFIRST till rätt parameter

Micke


Svara

Sv: Behöver lista 1 månads alla dagar

Postades av 2003-07-29 12:11:17 - Andreas Hillqvist

ÄR det ijnte onödigt att belasta SQL med det?


Svara

Sv: Behöver lista 1 månads alla dagar

Postades av 2003-07-29 17:44:04 - Per Hultqvist

Lol...om du har en webkamera eller en scanner, en mekanisk bladbläddrare byggd i mekano, en ica-kalender för varje år från 1990-2010, en mikrofon samt ett kyrktorn som slår varje hel timme i närheten så kan du lösa problemet....Sickan har en plan...

F'låt, kunde inte låta bli, SQL-serverlösningen var helt ok, men den kändes lite...icke-optimal... :-)


Svara

Sv: Behöver lista 1 månads alla dagar

Postades av 2003-07-30 11:34:21 - Pelle Johansson

Tack så mycket för er hjälp. De verkar fungera bra. Dock blev jag förvånad över andreas konstanter vbSunday, vbSaturday. I VB respektive ASP blev det fel dagar då asp ville ha 6,1 och inte 6,7.


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 796
27 960
271 761
2 369
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies