Failed to parse time string in PHP
$date = '"2016-10-14T22:00:00.000Z"';
=> ""2016-10-14T22:00:00.000Z""
$fechaHasta = new DateTime($date);
Exception with message 'DateTime::__construct(): Failed to parse time string ("2016-10-14T22:00:00.000Z") at position 0 ("): Unexpected character'
$fechaHasta = new DateTime(trim($date, '"')); /* « notice the trim */
=> DateTime {#174
+"date": "2016-10-14 22:00:00.000000",
+"timezone_type": 2,
+"timezone": "Z",
}
So you just trim the "
away:
$fechaHasta = new DateTime(trim($params["fechaHasta"], '"'));
This should work fine.
José Carlos
Hi!!! I'm an analist and software developer. Right now, I'm working with python, node js, react js, javascript in projects like full stack developer or front-end developer or back-end developer. Maybe I have no the skills that you are looking for right now, but ... I can learn and adapt to several environments. Please, if you think that I can help you in your project, feel free to ask whatever you want about my CV or me.
Updated on June 04, 2022Comments
-
José Carlos almost 2 years
I need to create a DateTime from the value received from a form. The problem is that the value is received like a string: "2016-10-10T08:29:06.959Z" and I need to received like
2016-10-10T08:29:06.959Z
without quotes, because if I receive with quotes I've got the next error:DateTime::__construct(): Failed to parse time string ("2016-10-14T22:00:00.000Z") at position 0 ("): Unexpected character
When I try to transform the value to a DateTime with:
$fechaHasta = new DateTime($params["fechaHasta"]);
If I try to use:
$fecha2 = DateTime::createFromFormat("d-m-Y H:i:s", $data["fechaHasta"]);
I've got an empty object in $fecha2.
The form from where I send the data is:
<form id = "formSearch" class = "menu-table" method = "post" action = "<?php echo $this->basePath('/privado/actividades-planificadas/pai/exportdatatoexcel'); ?>"> <input type = "hidden" name = "codigoPPM" value = "{{searchForm.codigoPPM}}" /> <input type = "hidden" name = "fechaDesde" value = {{searchForm.dt1}} /> <input type = "hidden" name = "fechaHasta" value = {{searchForm.dt2}} /> <input type = "hidden" name = "estado" value = "{{searchForm.estadoSelected.id}}" /> <button type = "submit"> Exportar datos a Excel <img title = "Exportar tabla a Excel" src = "/img/logo-excel.png" /> </button> </form>
So, what I have to do to send the value without quotes or transform the value received in DateTime.