Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: Von einem Datum einen Tag abziehen

  1. #1
    Registriert seit
    28.05.2008
    Beiträge
    40
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich möchte von einem Datum (Datentyp Date) einen Tag abziehen.

    z.B.:
    D#2008-2-26 einen Tag abziehen--> D#2008-2-25

    Natürlich unter Berücksichtigung von Monats- und Jahreswechsel.
    Also aus dem D#2008-1-1 soll der D#2007-12-31 werden.

    Ist das möglich oder gibt es da vielleicht sogar schon eine Funktion von Siemens für?
    Zitieren Zitieren Von einem Datum einen Tag abziehen  

  2. #2
    Registriert seit
    05.06.2006
    Ort
    PLZ 97xxx
    Beiträge
    274
    Danke
    31
    Erhielt 44 Danke für 36 Beiträge

    Standard

    Date-Format bezeichnet die Anzahl der Tage seit dem 1.1.1990

    d.h. wenn du einen Tag abziehen willst dann gehts ganz einfach mit
    ner INTEGER Subtraktion

    L #Datum
    L 1
    -I
    T #Datum_neu

  3. Folgender Benutzer sagt Danke zu Sarek für den nützlichen Beitrag:

    Tompson (14.01.2009)

  4. #3
    Registriert seit
    04.01.2008
    Ort
    Wien
    Beiträge
    772
    Danke
    136
    Erhielt 39 Danke für 35 Beiträge

    Standard

    ja dann musst du dass Date_and_Time_Format auftrennen abziehen und dann wieder zusammenfügen.
    ABer wie kriegst du den aus dem Datum (Int Zahl) das Monat und den Tag raus?
    Die Formel is sicher auch Komplex (30,31,29,28 Tage)....
    irgendetwas ist ja immer...
    ING. Gerald Miedler

  5. #4
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von Gerri Beitrag anzeigen
    ja dann musst du dass Date_and_Time_Format auftrennen abziehen und dann wieder zusammenfügen.
    ABer wie kriegst du den aus dem Datum (Int Zahl) das Monat und den Tag raus?
    Die Formel is sicher auch Komplex (30,31,29,28 Tage)....
    in welcher parallelwelt bist du denn unterwegs?

    es ging eindeutig ums format date! ... das ist ein 16bit-wert, dazu noch ein elementarer datentyp, wenn du ihn dir dezimal anguckst, so wie sarek geschrieben hat, zeigt er die tage seit 1.1.1990 (= 0int) ...

    date_and_time ist ein zusammengesetzter datentyp. die auflösung in die einzelnen werte kannst du von hand machen oder mit hilfe von IEC funktionen. oder selber basteln http://sps-forum.de/showpost.php?p=171541&postcount=11
    Geändert von vierlagig (14.01.2009 um 17:06 Uhr)
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  6. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    SIGGI (04.02.2009)

  7. #5
    Registriert seit
    04.01.2008
    Ort
    Wien
    Beiträge
    772
    Danke
    136
    Erhielt 39 Danke für 35 Beiträge

    Standard

    ok, ich hab da was verwechselt. Im Augenblick arbeite ich mit der CPU Zeit und hab das mit meiner Anwendung vermischt.

    Ja und weiter? Also du hast dann irgendeinen Zahlenwert. Wie kommst du auf das monat und den Tag des Monats? Das wollt ich damit eigentlich sagen.
    irgendetwas ist ja immer...
    ING. Gerald Miedler

  8. #6
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard

    Das Format DATE ist nur eine bestimmte Darstellung eines Integer-Wertes:

    DATE

    Eine Variable mit Datentyp DATE (Datum) wird in einem Wort als vorzeichenlose Festpunktzahl abgelegt. Der Inhalt der Variablen entspricht der Anzahl der Tage seit 01.01.1990. Die Darstellung enthält das Jahr, den Monat und den Tag, jeweils getrennt durch einen Bindestrich.

    Beispiele:

    DATE#1990-01-01 (= INT 0000)

    DATE#2009-14-01 (= INT 6953)

    DATE#2009-13-01 (= INT 6952)
    Gruß Kai

  9. #7
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von Gerri Beitrag anzeigen
    Ja und weiter? Also du hast dann irgendeinen Zahlenwert. Wie kommst du auf das monat und den Tag des Monats? Das wollt ich damit eigentlich sagen.
    wofür brauchst du das? wenn du den elementaren Datentypen DATE verwendest, so wird er von den entsprechenden funktionen auch als solches gedeutet, auch von visualisierungssystemen.

    darüber hinaus:
    date als dez / 360 = jahr (rest: x)
    x/30 = monat (rest: y)
    y + 1 = tag

    müßte hinhauen, mußte allerdings als DINT rechnen, weil date als vorzeichenlose ganzzahl daher kommt ...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  10. #8
    Registriert seit
    11.12.2007
    Beiträge
    189
    Danke
    54
    Erhielt 33 Danke für 32 Beiträge

    Standard

    Zitat Zitat von Gerri Beitrag anzeigen
    ...Wie kommst du auf das monat und den Tag des Monats? Das wollt ich damit eigentlich sagen.
    Ich denke mal er hat das DATE Format mittels FC6 DT_DATE aus dem Date and Time Format gezogen.

    Das sollte deine Frage beatworten...

    Gruß
    Sven_HH

  11. #9
    Registriert seit
    04.01.2008
    Ort
    Wien
    Beiträge
    772
    Danke
    136
    Erhielt 39 Danke für 35 Beiträge

    Standard

    genau so ist es!
    irgendetwas ist ja immer...
    ING. Gerald Miedler

  12. #10
    Registriert seit
    28.05.2008
    Beiträge
    40
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wir haben eine Funktion geschrieben, die aus unseren Anlagen den Tagesverbrauch an Wasser der letzten 14 Tage abspeichert.
    Dafür schaut die Funktion auf das letzte im DB gespeicherte Datum und vergleich es mit dem aktuellen. Ist es nicht mehr gleich (also immer um 0:00h), wird eine Routine einmal aufgerufen, die zuerst alle Verbräuche und Daten verschiebt, dann den neuen Tagesverbrauch berechnet, diesen abspeichert und das neue Datum hinzufügt.
    Nur leider ist das ja nicht der Tagesverbrauch von heute sondern von gestern. Und daher will ich vor dem abspeichern des Datums einen Tag abziehen. Dann wäre alles OK.

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 25.10.2011, 13:22
  2. Antworten: 9
    Letzter Beitrag: 12.04.2010, 13:52
  3. Datum und Uhrzeit aus einem OP lesen
    Von pfloh im Forum Simatic
    Antworten: 26
    Letzter Beitrag: 25.03.2009, 03:11
  4. Baugruppe gestört bei abziehen vom PC
    Von guggy im Forum Feldbusse
    Antworten: 7
    Letzter Beitrag: 17.10.2008, 08:30
  5. Antworten: 2
    Letzter Beitrag: 16.11.2006, 17:45

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •