2017-06-29 2 views
-1

folgenden Code, derin php in einer bestimmten Zeit bestimmte Stunden hinzufügen ist

date('H:i', strtotime('+1 hours')); 

in Hinzufügen bestimmter Stunden in der Gegenwart hilft Wie soll ich Stunden hinzufügen, wenn die Zeit und Stunden dynamisch sind. ZB möchte ich hinzufügen 2 Stunden bis Zeit 08:00, aber diese beiden Dinge sind in Variablen gespeichert

$ Stunden = "2";

$ day_time = "08:00";

habe ich versucht, die folgenden aber nicht

$new_time = date($day_time, strtotime('+$hours hours')); 

kann jemand bitte sagen, wie es

+0

@Cyclonecode hat nicht funktioniert, der Fehler "Ein nicht wohlgeformter numerischer Wert wurde gefunden" – Sneha

+0

Bevor ich mit diesem Code fortfahre, schlage ich vor, dass Sie echte Zeitstempel statt nur Stunden verwenden. Menschen sind gut mit abstrakten Sachen wie Stunden, aber Computer sind nicht. Verwenden Sie zu jeder Zeit eine Art Jahresmonat und Sie werden es später im Code einfacher machen. – Andreas

Antwort

0

versuchen diese

echo date("H:i", strtotime("+{$hours}hour ".$day_time)); 
0

Versuchen Sie, diese

$h = 2 ; 
$time="08:00"; 
$time = date('H:i', strtotime($time.'+'.$h.' hour')); 
echo $time; 
0

Versuchen Sie, wie diese,

getan werden musste arbeiten
$hours = 2; 
$day_time = "08:00"; 
$new_time = date('H:i',strtotime($day_time."+$hours hours")); 
0

Code unten versuchen,

<?php 
    $hours = "2"; 
    $day_time = "08:00"; 
    $new_time = date('H:i',strtotime($day_time.'+ '.$hours.' hour')); 
    echo $new_time; 
?> 

Ausgang: 10:00

0

Datetime verwenden wäre besser

„A zu vermeiden nicht gut ausgebildetes numerisches va lue angetroffen“

$date = new DateTime($day_time); 
$date->modify("+".$hours." hours"); 
echo $date->format("H:i"); 
0

Das ist, weil Sie eine Variable in einfache Anführungszeichen verwenden. Es gibt einige Möglichkeiten, dies zu beheben:

//awful and you should avoid it 
//(hard to read, unsafe use of direct variables inside strings): 
$new_time = date($day_time, strtotime("+$hours hours")); 

oder

//still awful and you should avoid it too: 
$new_time = date($day_time, strtotime('+{$hours} hours')); 

oder

//a little better, but still unsafe: 
$new_time = date($day_time, strtotime('+' . $hours . ' hours')); 

oder

//better, safe because it only adds numeric values to the hours: 
$new_time = date($day_time, strtotime(sprintf('+%d hours', $hours))); 

oder

//the ideal solution, safer to use and more professional: 
$dateObj = new DateTime(); 
$dateObj->modify(sprintf('+%d hours', $hours)); 
$new_time = $dateObj->format("H:i"); 

Das ist die Schönheit und der Fluch von PHP, Sie können Dinge immer in mehr als einer Weise tun.

Verwandte Themen