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


Datum och matematik i VB

Postades av 2001-07-02 11:37:00 - Sven Åke Persson, i forum visual basic - allmänt, Tråden har 13 Kommentarer och lästs av 828 personer

Hello Folks
Det där med att hantera datum och matematik i DataBaser
har alltid varit lite småstruligt.
Jag kör numera konsekvent datum som långt heltal i databas

Funktionen CDate är ett utmärkt verktyg. DateDiff i all ära
men det blir ganska rörigt.

CLng(Cdate(Now)) lämnar ett långt heltal räknat från
1900-01-01 , idag 2001-07-02 blir 37074
CLng(CDate("2001-06-01")) blir 37043

Man återomvandlar med Format$(37074,"yyyy-mm-dd")

Option Explicit
Private Sub Command1_Click()
Dim lngDateNow As Long, lngDate2 As Long
lngDateNow = CLng(CDate(Now)) '2001-07-02 ger 37074
lngDate2 = CLng(CDate("2001-06-01")) 'ger 37043
If lngDateNow - lngDate2 > 30 Then _
MsgBox "30 dagars provtid har överskridits"
End Sub

Format$(-37074,"yyyy-mm-dd") ger ett datum före 1900

mvh
Sven



Svara

Sv: Datum och matematik i VB

Postades av 2001-07-02 11:52:00 - Mattias Sjögren

>CLng(Cdate(Now)) lämnar ett långt heltal räknat från
1900-01-01 , idag 2001-07-02 blir 37074

Se upp med timmar och minuter bara. De försvinner vid omvandling till Long, och kan ge lite oväntat resultat. T.ex

Dim l As Long
l = CLng(#6/1/2001 1:00:00 PM#)
MsgBox Format$(l, "yyyy-mm-dd") ' visar 2001-06-02


Vill du slippa det bör du köra med Double istället för Long.


>CLng(CDate("2001-06-01")) blir 37043

Sen skulle jag rekommendera att aldrig använda strängar för att lagra datum heller. Ovanstående kod skulle kunna ge ett type mismatch fel om det körs på en maskin där "yyyy-mm-dd" inte är ett giltigt datumformat. Bättre är att köra med VBs datumkonstanter inom ##, som ovan.


MS


Svara

Sv: Datum och matematik i VB

Postades av 2001-07-02 13:10:00 - Andreas Högström

Håller med...

Men varför jobba sig med tal???
Lätast att bara formatera datum till amerikanskt format.
mm/dd/yyyy hh:nn:ss

Funkar även när man har svensk inställning...


Svara

Sv: Datum och matematik i VB

Postades av 2001-07-02 13:38:00 - Sven Åke Persson

Hej
>Men varför jobba sig med tal???

Därför att man använder tal i matematik.

Till MS inlägg : Bra du har alldeles rätt i dina kommentarer
det gäller att vara heltäckande när man gör inlägg :-)

> Se upp med timmar och minuter bara. De försvinner vid omvandling >till Long, och kan ge lite oväntat resultat.

Just det därför skall man inte använda Now
CLng(Cdate(Date)) blir bättre.

Ha det i sommarvärmen
mvh
Sven



Svara

Sv: Datum och matematik i VB

Postades av 2001-07-02 13:49:00 - Mattias Sjögren

>Lätast att bara formatera datum till amerikanskt format.
>mm/dd/yyyy hh:nn:ss
>
>Funkar även när man har svensk inställning...


Det finns fler länder här i världen än USA och Sverige...


MS


Svara

Sv: Datum och matematik i VB

Postades av 2001-07-02 15:21:00 - Andreas Hillqvist

Förlåt om jag lägger mig i diskussionen.
Men man kan ju modifiera datumet mattimatiskt utan att konvertera det till long, eller?

Dim vTemp as date
vTemp = Date + 12 'Tolv dagar i framtiden
vTemp = vTemp + (1/24) 'Plus en timma

Men jag föreslår Dateadd funktionen och DateSerial. Tycker det är bättre att använda dessa en att behöva trixa med tal...
För er som undrar var "DateSubract" funktionen är. Sett bara ett minus
framför värdet och använd Dateadd... :O)

SvenPon Har jag missat din anledning, eller fördelarana med att använda long?


Svara

Sv: Datum och matematik i VB

Postades av 2001-07-02 15:26:00 - Andreas Hillqvist

Jag kanske misstar mig. Men har för mig att Amerikanskt format fungerar OAVSETT lokala inställningar. Med andra ord, om man gör ett program som även skall ungera med andra lokala inställningar. Använd Amerikanskt format.

Om detta är fel. Kan du väl referera till test eller information om detta så jag och eventuella andra kan göra på det "rätta" sättet...

/Puss & Kram - Andreas (VB - Diva)


Svara

Sv: Datum och matematik i VB

Postades av 2001-07-02 15:56:00 - Sven Åke Persson

Hej
>Tycker det är bättre att använda dessa en att behöva trixa med tal...

Det är en kapacitets fråga .Eftersom alla Datum/Tid funktioner
använder matematik i sitt innre så passar det bättre mitt sätt att tänka.

Om du inte förstår det kan jag tala om att Datum är ett tal.

mvh
Sven


Svara

Sv: Datum och matematik i VB

Postades av 2001-07-02 21:49:00 - Mattias Sjögren

>Men har för mig att Amerikanskt format fungerar OAVSETT lokala inställningar.

Det är möjligt, men inget jag skulle lita på.


>Med andra ord, om man gör ett program som även skall ungera med andra lokala inställningar. Använd Amerikanskt format.

Olika datumformat används ju främst när man ska visa datumet för användaren. Och då tycker jag det vore lite oartigt att alltid köra med amerikanskt format, eftersom det i många fall inte är vad användaren är van att se.

Internt i programmet är det väl bäst att hantera datum med just Date variabler, där olika format inte har någon betydelse.


MS


Svara

Sv: Datum och matematik i VB

Postades av 2001-07-02 21:58:00 - Andreas Hillqvist

Det är ju självklart att dtumet skall visas som användaren angivet. Jag menr när man skickar det som argument i en SQL sats... Har för mig att vissa fall tolkar den svenskt datum felaktigt...


Svara

Sv: Datum och matematik i VB

Postades av 2001-07-02 22:06:00 - Andreas Hillqvist

Näää... Vilken total nyhet... Jag som trode datum var fotoner i binärt format. komprimerade med winzip...

Vill tacka dig för att du upplyser folk om det. Men jag har väldigt lite användning av det. Så om du skulle kuna ge mig konkreta exempel då det är användbart. Skulle jag börja dyrka dig. Å, allsmäktiga HP41CV, SinqlairQL, Amiga, PC, Basic, VB och Delphi guru...


Svara

Sv: Datum och matematik i VB

Postades av 2001-07-02 23:19:00 - Sven Åke Persson

Hej
>Vill tacka dig för att du upplyser folk om det.

Det var inte till folk det var till dig, dom andra förstår
säkert att matematik och programmering går han i hand.
Och i matematik använder man företrädesvis tal.

DS


Svara

Sv: Datum och matematik i VB

Postades av 2001-07-03 09:32:00 - Andreas Hillqvist

Vad snäll du är som bryr dig tillräckligt mycket om mig. För att försöka få mig att förstå. Men jag behöver konkreta exempel för att förstå. Du får lov att kalla mig idiot. Men behöver fortfarande konkreta exempel...

Hoppas du kan stå ut med mig ändå... :O)


Svara

Sv: Datum och matematik i VB

Postades av 2001-07-03 10:21:00 - Sven Åke Persson

Hej
>Men jag behöver konkreta exempel för att förstå.

Många av mina projekt arbetar med diagram.

Om då X axeln beskriver datum ,är det mycket praktiskt att
tänka på datum som ett långt heltal ,med 5 tecken(eller fler siffror) kan jag
beskriva vilket datum jag vill från kristi födelse till 2100 och
mer. Sedan översätter man dessa 5 siffror till ett aptitligt format
för användaren.

Är man historiskt intresserad kan man tänka på 6/11 1632 som
- 97573 , 100000 blir 2173-10-14 osv osv.

DS


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

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 569 620
27 953
271 709
697
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