AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi posttime (int) in aktuelles Datum umrechnen und umgekehrt
Thema durchsuchen
Ansicht
Themen-Optionen

posttime (int) in aktuelles Datum umrechnen und umgekehrt

Ein Thema von RX3 · begonnen am 31. Dez 2006 · letzter Beitrag vom 1. Jan 2007
Antwort Antwort
RX3

Registriert seit: 2. Jun 2004
42 Beiträge
 
#1

posttime (int) in aktuelles Datum umrechnen und umgekehrt

  Alt 31. Dez 2006, 13:54
Datenbank: MySQL • Zugriff über: ADO
Hallo kann mir jemand sagen wie ich aus meiner MySQL-DB die posttime (Typ int) umrechnen kann in einen konkreten Zeitwert im Format: dd.mm.yyyy, hh:mm

Bsp:
Habe in der DB den Wert: 1167539082
Das ist umgerechnet folgendes Datum: 31.12.2006, 05:24

wie kann ich so etwas umrechnen? Und zwar in beide Richtungen ??
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: posttime (int) in aktuelles Datum umrechnen und umgekehr

  Alt 31. Dez 2006, 14:50
Hallo,

ich würde es so probieren:

Delphi-Quellcode:
uses
  Windows,
  DateUtils;

function UTCToDateTime(utc: Int64): TDateTime;
var
  tzi: TTimeZoneInformation;
begin
  Result := UnixToDateTime(utc);
  GetTimeZoneInformation(tzi);
  Result := Result - tzi.Bias * OneMinute;
end;

function DateTimeToUTC(dt: TDateTime): Int64;
var
  tzi: TTimeZoneInformation;
begin
  Result := DateTimeToUnix(dt);
  GetTimeZoneInformation(tzi);
  Result := Result + tzi.Bias * 60;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
RX3

Registriert seit: 2. Jun 2004
42 Beiträge
 
#3

Re: posttime (int) in aktuelles Datum umrechnen und umgekehr

  Alt 1. Jan 2007, 13:16
Hi ich wollte keinen Code der mir das berechnet, sondern generell will ich wissen welchen Integer-Wert ich in die DB eintragen muss damit ich ein bestimmtes Datum erhalte...

Habs aber schon rausgefunden, vielen Dank trotzdem für die schnelle Hilfe

Hier ne Auflistung:
1 = 1.1.1970, 1:00:01
59 = 1.1.1970, 1:00:59
60 = 1.1.1970, 1:01:00
120 = 1.1.1970, 1:02:00
3599 = 1.1.1970, 1:59:59
3600 = 1.1.1970, 2:00:00
86400 = 2.1.1970, 1:00:00
31536000 = 1.1.1971, 1:00:00
1136073600 = 1.1.2006, 1:00:00

usw (die Berechnungen müssten klar sein, denke ich)
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: posttime (int) in aktuelles Datum umrechnen und umgekehr

  Alt 1. Jan 2007, 13:21
Ich dachte immer die Unix Zeitrechnung fängt beim 1.1.1970 00:00 an.

Zitat von RX3:
1 = 1.1.1970, 1:00:01
59 = 1.1.1970, 1:00:59
Das sollte dann nicht richtig sein.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: posttime (int) in aktuelles Datum umrechnen und umgekehr

  Alt 1. Jan 2007, 13:23
Zitat von Klaus01:
Ich dachte immer die Unix Zeitrechnung fängt beim 1.1.1970 00:00 an.
Fängt sie ja auch an: 0
Markus Kinzler
  Mit Zitat antworten Zitat
RX3

Registriert seit: 2. Jun 2004
42 Beiträge
 
#6

Re: posttime (int) in aktuelles Datum umrechnen und umgekehr

  Alt 1. Jan 2007, 16:14
falsch

0 = 01.01.1970, 01:00:00
1 = 01.01.1970, 01:00:01

//EDIT
oder hab ich eine stunde zuviel wegen GMT-Zeitzone +1 ??
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: posttime (int) in aktuelles Datum umrechnen und umgekehr

  Alt 1. Jan 2007, 17:42
Hi,

Zitat von RX3:
ich wollte keinen Code der mir das berechnet
das mag sein, aber das konnte ich nicht aus deinem Beitrag heraus lesen. Wenn du in Zukunft keinen Code sehen möchtest, dann musst du es nur kurz schreiben und ich merke mir das, so dass es nicht noch einmal vorkommt. Sorry nochmal.

Wenn du allerdings die wenigen Zeilen von mir analysierst, dann fallen dir Dinge wie UTC (Universal Time Coordinated), TDateTime (der Delphi Datentyp für die interne Darstellung von Datum und Zeit), DateTimeToUnix(), UnixToDateTime() und GetTimeZoneInformation() auf. Fünf Dinge zu denen du deine Online Hilfe befragen kannst. Im Anschluss weißt du, dass der Unix Referenzzeitpunkt Mitternacht am 1.1.1970 (UTC) ist. Die eine Stunde Versatz ist tatsächlich die Zeitzone.

Freundliche Grüße
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz