Einzelnen Beitrag anzeigen

marabu

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

Re: SQL/Systemzeit per Stored Procedure auslesen

  Alt 19. Okt 2005, 18:02
Hallo Robert,

Zitat von robroy85:
Ich habe sie als procedure hinzugefügt, jedoch ist sie doch vom Output gleich wie getdate "nur" das die Zeitzone und Winter/Sommerzeit berücksichtigt wird.
Ist doch genau die Zeit, die du brauchst. Werfe den ersten Entwurf weg und nimm die hier - die hat einen Ausgabeparameter:

SQL-Code:
IF EXISTS (
  SELECT name FROM sysobjects
    WHERE name = 'GetUTCDateAND type = 'P'
) DROP PROCEDURE GetUTCDate

CREATE PROCEDURE GetUTCDate
  @utc DATETIME OUTPUT
AS
BEGIN
  DECLARE @BiasInMinutes INT
  EXEC master.dbo.xp_regread 'HKEY_LOCAL_MACHINE',
    'SYSTEM\CurrentControlSet\Control\TimeZoneInformation',
    'ActiveTimeBias',
    @BiasInMinutes OUTPUT
  SELECT @utc = DATEADD(MINUTE, @BiasInMinutes, GetDate())
END
Zitat von robroy85:
Leider habe ich das mit dem gebrochenen anteil * 60*60*24 nicht verstanden!
Vergiss den gebrochenen Anteil - Denkfehler von mir - war schon beim Einkaufen...

Zitat von robroy85:
Wie konvertiere ich den das datetime-format in einen integerwert?
Vergiss das auch wieder, du hast in MSSQL 7 noch keinen Datentyp BigInt. So hast du schon mal die UTC-Zeit in Sekunden:

SQL-Code:
DECLARE @utc DATETIME
DECLARE @seconds FLOAT
EXEC getutcdate @utc OUTPUT
SELECT @seconds = CONVERT(FLOAT, @utc) * 86400
Jetzt fehlt nur noch die Schleife, die aus dem Float-Wert einen Hex-String macht, aber das kriegen wir auch noch hin.

marabu
  Mit Zitat antworten Zitat