Zeit + SQL time = SQL Timestamp

09/10/2015 20:55 ChilloutFuzi#1
Hey,
Also ich hab eine MySQL datenbank in der eine Zeit in dem Format time steht:
00:00:00.
Dies möchte ich zu der aktuellen Zeit+Datum addieren und dies soll im Format des SQL Timestamp sein: 2015-09-10 20:38:40.
Soweit bin ich jetzt:
PHP Code:
$stoptime date('Y-m-d H:i:s') + $time;
//$timetime ist in dem Fall die Zeit aus der Datenbank. Also 00:10:00. 
So die Frage ist wie kann ich das jetzt verrechnen.

MFG
09/10/2015 21:22 Dantox#2
Ich arbeite nicht mit SQL, am einfachsten wäre es dennoch deine Zeit in Millisekunden umzuwandeln.
09/11/2015 09:32 NotEnoughForYou#3
Entweder in einen Unix Timestamp umwandeln (und dann eben die Sekunden aufrechnen).

Oder per [Only registered and activated users can see links. Click Here To Register...].

Beispiel:

PHP Code:
$zeit strtotime("2015-09-10 20:38:40 + 2 days 1 hour");
echo 
date('Y-m-d H:i:s'$zeit);
// ausgabe 2015-09-12 21:38:40 
09/11/2015 12:00 ComputerBaer#4
Mach es doch einfach alles in der Datenbank:
Code:
SELECT ADDTIME(NOW(), mytime) as 'zeit' FROM myTable ...
Ich habe es jetzt nicht getestet, aber es sollte so funktionieren.
09/11/2015 15:01 ChilloutFuzi#5
Quote:
Originally Posted by ComputerBaer View Post
Code:
SELECT ADDTIME(NOW(), mytime) as 'zeit' FROM myTable ...
Wie kann ich den Code verstehen ?
NOW gibt die aktuelle zeit aus.
mytime ist das von der Spalte wo ich es her habe ?
was ist as 'zeit' ?

meine Werte werden in verschiedenen Tabellen gespeichert. Ist es dann noch möglich ?
09/11/2015 15:09 NotEnoughForYou#6
Es wäre einfacher wenn du uns genau sagst was du erreichen möchtest und wo was gespeichert ist.
09/11/2015 15:15 ChilloutFuzi#7
Also ich habe 2 Tabellen: 1. dungeons 2. dungeonruns
In der Tabelle dungeons steht eine Zeit(dauer des Dungeons)SQL Format time
In der Tabelle dungeonruns wird sobald ein eintrag erstellt wird die aktuelle Zeit im Typ current_timestamp eingetragen. Nebenbei soll auch die "Stoptime" eingetragen werden. Diese wird aus aktueller Zeit + Zeit des benötigten Dungeons berechnet werden.
09/11/2015 15:17 ComputerBaer#8
Quote:
Originally Posted by ChilloutFuzi View Post
NOW gibt die aktuelle zeit aus.
Richtig.

Quote:
Originally Posted by ChilloutFuzi View Post
mytime ist das von der Spalte wo ich es her habe ?
Das ist deine Spalte mit der Zeit 00:00:00.

Quote:
Originally Posted by ChilloutFuzi View Post
was ist as 'zeit' ?
Damit wird dieser "neuen Spalte" ein Name (zeit) zugewiesen, damit du es mit PHP einfacher hast auf den Wert zuzugreifen. Du kannst es aber auch weglassen.

Quote:
Originally Posted by ChilloutFuzi View Post
meine Werte werden in verschiedenen Tabellen gespeichert. Ist es dann noch möglich ?
Natürlich. Die Möglichkeiten von SQL werden dadurch nicht eingeschränkt.
09/11/2015 20:38 ChilloutFuzi#9
ok es läuft
kann closed werden
09/17/2015 13:32 xsrf#10
PHP Code:
date('d.m.Y H:i:s'time()); 
oder

PHP Code:
date('d.m.Y H:i:s'$databaseTime); 
Beides müssten Integer sein.

Zum Vergleichen folgendes:

PHP Code:
if(date('d.m.Y H:i:s'$databaseTime) > date('d.m.Y H:i:s'time()){

Vorher musst du halt sagen, dass die Zeit in der Datenbank sagen wir die aktuelle Zeit + eine gewisse Anzahl an Stunden/Tagen ist.

Beim einschreiben sieht das quasi so aus:

time() + 1*24*60*60

Tage
Stunden
Minuten
Sekunden

Als Beispiel dient dir eventuell diese Vote Klasse aus meiner alten Flyff Webseite.

PHP Code:
<?php

/**
 * Votescript
 */
class Vote extends Database {
    
    public 
$errorReport;
    
    public function 
SetVotePoints($escapedUser$coinValue$configVoteTime){
        
$returnValue self::CheckStamp($escapedUser$configVoteTime);
        if(
$returnValue[0]){
            
$databaseValue self::getSingleData('vote''account''ACCOUNT_TBL_DETAIL''account'$escapedUser$type 0);
            if(
$databaseValue['vote'] != null){
                echo 
$newValue $databaseValue['vote'] + $coinValue;
            }else {
                
$newValue $coinValue;
            }
            
$arr = array(
                
'Points'    =>  $newValue,
                
'Time'      =>  time() + $configVoteTime,
                
'User'      =>  $escapedUser
            
);
            
self::updateVoteData($arr);
        }
    }
    
    private function 
CheckStamp($escapedUser$configVoteTime){
        
$intLastVote self::getSingleData('votetime''account''ACCOUNT_TBL_DETAIL''account'$escapedUser$type 0);
        
        if(
$intLastVote['votetime'] != NULL){
            
$nextVoteTime time();
            if(
$nextVoteTime $intLastVote['votetime']){
                return 
$arr = array(true);
            }else {
                return 
$arr = array(false$intLastVote['votetime']);
            }
        }else {
            return 
$arr = array(true);
        }
        
    }
    
    public function 
VoteControl($escapedUser$configVoteTime){
        
$returnValue self::CheckStamp($escapedUser$configVoteTime);
        if(
$returnValue[0]){
            
$this->report 'Vote Now';
        }else {
            if(
date('d.m.Y H:i:s'$returnValue[1]) == date('d.m.Y H:i:s'time() + 76000)){
                
$this->report 'Today: ' .  date('H:i'$returnValue[1]);
            }else {
                
$this->report 'Tomorrow: ' .  date('H:i'$returnValue[1]);
            }
        }
        
        return 
$this->report;
    }

    
/** private function ValidateGTOP100($siteID, $sitePassword){
        $xml = simplexml_load_file('http://www.gtop100.com/home/report1?siteid=' . $siteID . '&pass=' . $sitePassword . '');
        if ($xml->errorcode == 0)
        {
            $cnt = count($xml->entries->entry);
            for ($i = 0; $i < $cnt; $i++)
            {
                print($xml->entries->entry[$i]->ip);
                print(" - ");
                print($xml->entries->entry[$i]->time);
                print("<br>");
            }
        }
        else
        {
            print($xml->errormessage);
        }
        print("<br>");
    } */

}