PHP - Sumar tiempo a una fecha actual

 
Vista:

Sumar tiempo a una fecha actual

Publicado por Juan Pablo (2 intervenciones) el 12/10/2020 21:24:51
buen día.
abro tema para solicitar ayuda de su parte con un problema que tengo al querer sumar tiempo.
expongo el caso: Tengo que realizar una guía de programación de un canal de tv usando una DB el problema que tengo es que quiero sumar la duración del programa a la fecha actual y al llegar a las 23:59:60 cambie de día y obtener un xml. si pudieran apoyarme se los agradeceria.

anexo mi codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
$conexion = mysqli_connect("localhost", "root", "", "almacen");
$query = "SELECT * FROM la_mexicana";
$resultado = mysqli_query($conexion, $query);
$argv= $resultado->fetch_row();
 
date_default_timezone_set('America/Mexico_City');
$fecha_actual = date('Y/m/d');
$endDate = strtotime("+15 days", strtotime($fecha_actual));
$endDate = date("Y/m/d", $endDate);
$fechaClear = date("ymd");
$time = date("H:i:s",strtotime("00:00:00"));
$tag= $argv[6];
$duracion = $argv[7];
 
header("Content-Type: application/xhtml+xml;charst=utf-8");
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>".PHP_EOL
                    ."<SDF xmlns:sdf=\"http://www.w3.org/2001/XMLSchema-instance\" Version=\"3.0\" sdf:noNamespaceSchemaLocation=\"SDF.xsd\">".PHP_EOL
                    ."<SERVICE>". $tag ."</SERVICE>".PHP_EOL
                    ."<TIMEOFFSET>-5</TIMEOFFSET>".PHP_EOL
                    ."<DELETE_EVENT_SECTION>".PHP_EOL
                    ."<DELRANGE>".PHP_EOL
                    ."<START_DATE>" . $fecha_actual . "</START_DATE>".PHP_EOL
                    ."<START_TIME>" . $time . "</START_TIME>".PHP_EOL
                    ."<END_DATE>". $endDate ."</END_DATE>".PHP_EOL
                    ."<END_TIME>23:59:59</END_TIME>".PHP_EOL
                    ."</DELRANGE>".PHP_EOL
                    ."</DELETE_EVENT_SECTION>".PHP_EOL;
 
while($argv= $resultado->fetch_row()){
 
$startclear = DateTime::createFromFormat("H:i:s", $argv[2]);
$startclear = $startclear->format('Hi');
 
$a = DateTime::createFromFormat("H:i:s", $argv[2]);
$a = $a->format('H:i:s');
 
 
 
echo "<EVENT_SECTION><EVENTID>".$tag. $fechaClear . $startclear . "</EVENTID>".PHP_EOL
                       ."<START>".PHP_EOL
                           ."<DATE>". $time."</DATE>".PHP_EOL
                           ."<TIME>". $argv[2] . "</TIME>".PHP_EOL
                       ."</START>".PHP_EOL
                       ."<EPG_SECTION>".PHP_EOL
                           ."<DURATION>". $argv[7] ."</DURATION>".PHP_EOL
                           ."<RATING Country=\"MEX\">0</RATING>".PHP_EOL
                           ."<THEME>".$argv[0]."</THEME>".PHP_EOL
                           ."<EPG Language=\"Spa\">".PHP_EOL
                               ."<NAME>". $argv[4]."</NAME>".PHP_EOL
                               ."<SYNOPSIS>" . $argv[5] . "</SYNOPSIS>".PHP_EOL
                               ."<LOG_LINE> </LOG_LINE>".PHP_EOL
                           ."</EPG>".PHP_EOL
                           ."<ITEM Language=\"Spa\">".PHP_EOL
                               ."<ITEM_KEY>VID</ITEM_KEY>".PHP_EOL
                               ."<ITEM_VALUE>SD</ITEM_VALUE>".PHP_EOL
                           ."</ITEM>".PHP_EOL
                       ."</EPG_SECTION>".PHP_EOL
                    ."</EVENT_SECTION>".PHP_EOL;
 
                    /**$actual = strtotime("+".$argv[7], strtotime($time));
                    $actual = date("H:i:s", $actual);
                    $time = $actual;*/
 
 
 }
 echo "</SDF>".PHP_EOL;
 ?>
.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.063
Oro
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Mysql y php

Publicado por joel (954 intervenciones) el 13/10/2020 08:08:28
Hola Juan, exactamente donde tienes el problema? tu código no lo podemos probar, ya que no tenemos la base de datos

Nos puedes comentar que tendril que hacer que no hace?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con Mysql y php

Publicado por Juan Pablo Ortega Marquez (2 intervenciones) el 13/10/2020 17:40:17
claro que si. gracias por responder

En mi base de Datos tengo una columna de TIME con el tiempo de duración de cada programa quiero ir sumando cada renglón y al llegar a la hora 00:00:00 aumentar 1 día y así repetirlo hasta llegar a una fecha en especifico.

ejemplo de resultado:

programa #1
hora de emisión: 00:00:00
duracion: XX:XX:XX
fecha de emision: Fecha actual
.
.
.
prgrama #n-1
hora de emision: 00:00:00
duracion: XX:XX:XX
fecha de emision: fecha actual + 1día.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Christian
Val: 15
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

Sumar tiempo a una fecha actual

Publicado por Christian (4 intervenciones) el 18/10/2020 20:34:56
Hola Juan Pablo, para sumar o restar tiempo (digase horas, minutos, dias, años) a una fecha cualquiera, puedes utilizar las funciones PHP date_add y date_sub. Te dejo unos links donde se explica bien esto. Saludos

https://parzibyte.me/blog/2018/12/05/sumar-restar-fechas-mysql-date_add-date_sub/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar