[RESOLU] API - Curl - Ajouter date

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] API - Curl - Ajouter date

Re: API - Curl - Ajouter date

par Cumulus22 » 28 août 2022, 14:19

pour des manipulations compliquées sur les dates, mieux vaut utiliser :
https://www.php.net/manual/fr/datetime.settimezone.php
Merci! J'ai réglé mon problème.

Re: API - Curl - Ajouter date

par or 1 » 26 août 2022, 02:38

pour des manipulations compliquées sur les dates, mieux vaut utiliser :
https://www.php.net/manual/fr/datetime.settimezone.php

Re: API - Curl - Ajouter date

par Cumulus22 » 25 août 2022, 21:05

En passant, y aurais-t-il un script en php afin de calculer l'heure des marées selon la latitude et longitude ?
La prédiction des marées est un sujet très compliqué qui ne se calcul pas simplement et la latitude et longitude ne suffisent pas.
Il y a quelques API (payantes à ma connaissance) qui permettent de récupérer les infos de marées :
D'accord pour les suggestions d'API. Je vais conserver mon API.

Je peux récupérer les données du format JSON. Toutefois les heures indiquées sont au format universel (Z ou GMT).

Le format JSON obtenue est: "2022-08-25T06:26:00Z". Si j'extrais l'heure dans une variable, quelle serait le code php pour convertir à un autre fuseau horaire l'heure ? Par exemple le fuseau horaire GMT -4.
// Exemple de l'extraction de l'heure dans ma variable
// $event = $data[0]->eventDate;
$heure = substr($event,11,8);
//La variable $heure contient: 06:26:00

Re: API - Curl - Ajouter date

par @rthur » 25 août 2022, 10:26

En passant, y aurais-t-il un script en php afin de calculer l'heure des marées selon la latitude et longitude ?
La prédiction des marées est un sujet très compliqué qui ne se calcul pas simplement et la latitude et longitude ne suffisent pas.
Il y a quelques API (payantes à ma connaissance) qui permettent de récupérer les infos de marées :
https://services.data.shom.fr/support/fr/services/spm
https://rapidapi.com/aptitudeapps/api/n ... es/pricing (qui a une version gratuite)
https://api.marea.ooo/

Re: API - Curl - Ajouter date

par Cumulus22 » 24 août 2022, 22:00

si tu arrive à concaténer $d et un string pourquoi n'essaye tu pas de concaténer ton url avec ta variable $var1 ??
Merci! Je n'y avais pas pensé.

J'ai essayé la suggestion (concaténer) et ça fonctionne.

En passant, y aurais-t-il un script en php afin de calculer l'heure des marées selon la latitude et longitude ?

Re: API - Curl - Ajouter date

par Spols » 24 août 2022, 21:16

si tu arrive à concaténer $d et un string pourquoi n'essaye tu pas de concaténer ton url avec ta variable $var1 ??

Re: API - Curl - Ajouter date

par Cumulus22 » 24 août 2022, 19:30

Si l'appel se fait en PHP, en y ajoutant une variable qui contient la date du jour avec date('Y-m-D') pour ne remplacer que la partie en gras.

PHP peut aussi te fournir la date au format ISO 8601 en faisant date('c') et pour ton appel API il faudra l'encoder pour le passer en paramètre d'url avec la fonction urlencode(date('c')), sauf que PHP ne va pas utiliser la notation "Z" pour indiquer que c'est l'heure UTC mais +00:00 donc je sais pas si ton API va l'accepter.

Dans le doute, tu peux juste changer la partie en gras comme ceci, en indiquant même today ou tomorrow si tu veux la date du jour ou de demain
echo date('Y-m-d', strtotime('tomorrow'));
Merci de la réponse!

Je ne comprends pas bien l'explication. Oui la fonction strtotime fonctionne bien.

Cependant, est-ce possible de récupérer la date dans une variable et par la suite de faire une concaténation avec ce paramètre de l'API "T00%3A00%3A00Z&" pour par la suite remplacer le tout dans l'appel de l'API?

Par exemple:
$d= date('Y-m-d', strtotime('today'));
$var1 = $d."T00%3A00%3A00Z&";
$url = .... /api/v1/stations/5cebf1e33d0f4a073c4bc23e/data?time-series-code=wlp-hilo&from=[b]2022-08-24T00%3A00%3A00Z&[/b]to=2022-08-25T00%3A00%3A00Z
Donc, je voudrais mettre la variable $var1 dans l'appel de l'API à la place de "2022-08-24T00%3A00%3A00Z&".

Re: API - Curl - Ajouter date

par @rthur » 24 août 2022, 17:51

Si l'appel se fait en PHP, en y ajoutant une variable qui contient la date du jour avec date('Y-m-D') pour ne remplacer que la partie en gras.

PHP peut aussi te fournir la date au format ISO 8601 en faisant date('c') et pour ton appel API il faudra l'encoder pour le passer en paramètre d'url avec la fonction urlencode(date('c')), sauf que PHP ne va pas utiliser la notation "Z" pour indiquer que c'est l'heure UTC mais +00:00 donc je sais pas si ton API va l'accepter.

Dans le doute, tu peux juste changer la partie en gras comme ceci, en indiquant même today ou tomorrow si tu veux la date du jour ou de demain
echo date('Y-m-d', strtotime('tomorrow'));

API - Curl - Ajouter date

par Cumulus22 » 24 août 2022, 16:39

J'utilise une API fournit par le service hydrologique afin de connaître les données de marée.

Or, dans l'API, je dois constamment ajuster la date "from" et "to" en utilisant le format ISO 8061 UTC.

Comment modifier la requête API afin qu'elle prenne automatiquement la date du jour ?

Voici une partie de l'API en question:

"....stations/5cebf1e33d0f4a073c4bc23e/data?time-series-code=wlp-hilo&from=2022-08-24T00%3A00%3A00Z&to=2022-08-25T00%3A00%3A00Z"