2017-07-07 1 views
0

Ich verwende ein zeitzonenbasiertes Skript, bei dem es eine Frist gibt, die auf Zeitzonen basiert. Sagen Sie zum Beispiel, eine Frist ist am 7. Juli um 18 Uhr für eine Person in der IST-Zeitzone. Die Frist sollte um 1:30 Uhr nach 18:00 Uhr in Dubai gemäß ihrer Zeitzone liegen.So subtrahieren Sie die Zeit von datetime

Ich habe bereits den Unterschied zwischen den beiden Zeitzonenunterschied berechnet. Ich bin dabei, diese berechnete Zeit von der Frist abzuziehen.

Ich habe die Zeitzonen in +5: 40 +4: 00 -4: 00 dieses Format anstelle von php Standard-gespeichert.

+0

Wollen Sie es bekommen in Abfrage oder PHP? Wo möchten Sie Werte speichern? Wenn Sie in db speichern möchten, zeigen Sie einige verwandte Tabellenstrukturen und zugehörige Daten an. –

Antwort

-1

Können Sie etwas genauer erklären, was Sie tun möchten?

Sie möchten subtrahieren, wenn bereits Daten in einem var in Ihrem Skript vorhanden sind oder die SQL-Abfrage benötigt wird?

Wenn ja vielleicht können Sie diese Antwort verwenden --->How to subtract 3 hours from a datetime in MySQL?

Die letzte Antwort auf dieses Thema vielleicht ist derjenige, der die meisten passen, was Sie brauchen:

Vorausgesetzt, dass Sie eine gewisse Zeitzone haben Problem und wissen, Quell- und Zielzeitzone, können Sie es wie

SELECT 
    DATE_FORMAT(CONVERT_TZ(x.date_entered, 'UTC', 'Europe/Berlin'), '%Y-%m-%d') AS date 
FROM 
    x 
ORDER BY 
    date ASC; 
0

so umwandeln könnte hier, was ich hinzufügen verwenden und subtrahieren Zeit von einem Datum. Zuerst erhalte ich das Datum aus der Datenbank und wandle es dann in ein DateTime Objekt um.

$date = new DateTime($date); 

Ich benutze add und eine DateInterval Zeit hinzuzufügen. Hier ein Beispiel zum Hinzufügen von Stunden.

$date->add(new DateInterval("PT{$hoursToAdd}H")); 

Und hier ist und beispielsweise Stunden subtrahieren intead:

$date->sub(new DateInterval("PT{$hoursToSubstract}H")); 

Check this out zu wissen, wie mit DateInterval zu arbeiten und addieren/subtrahieren verschiedene Zeiten: http://php.net/manual/en/class.dateinterval.php