Dans Postman, la variable dynamique {{$timestamp}} insère la Horodatage Unix actuel dans une requête. (Représenté comme le nombre de secondes depuis le 1er janvier 1970)

"currentTime": "1510934784"

Cependant, l'API avec laquelle je travaille s'attend à des horodatages au format MM/DD/YYYY.

"currentDate": "11/17/2017"

Comment insérer la date actuelle (au format MM/DD/YYYY) dans ma demande avec Postman?

56
Stevoisiak 17 nov. 2017 à 19:27

4 réponses

Meilleure réponse

Vous pouvez utiliser moment.js avec Postman pour vous donner ce format d'horodatage.

Vous pouvez l'ajouter au script de pré-demande:

const moment = require('moment');
pm.globals.set("timestamp", moment().format("MM/DD/YYYY"));

Puis référencez {{timestamp}} partout où vous en avez besoin.

Si vous ajoutez ceci à Collection Level Pre-request Script, il sera exécuté pour chaque requête dans Collection. Plutôt que de devoir l'ajouter à toutes les requêtes individuellement.

Pour plus d'informations sur l'utilisation de moment dans Postman, j'ai écrit un court article de blog: https://dannydainton.com/2018/05/21/hold-on-wait-a-moment/

91
Danny Dainton 6 nov. 2019 à 11:52

Utilisez l'onglet Script de pré-demande pour écrire du javascript pour obtenir et enregistrer la date dans une variable:

const dateNow= new Date();
pm.environment.set('currentDate', dateNow.toISOString());

Puis utilisez-le dans le corps de la requête comme suit:

"currentDate": "{{currentDate}}"
32
n-verbitsky 13 sept. 2019 à 15:08

Ma solution est similaire à celle de Payam, sauf que j'utilise

const dateNow = new Date();
postman.setGlobalVariable("currentDate", dateNow.toLocaleDateString());

Ce que j'ai aussi fait, c'est si vous frappez les 3 points sur le dossier. Vous pouvez cliquer sur "Modifier" et définir des scripts de pré-demande pour tous les appels, de sorte que la variable globale est toujours disponible. entrez la description de l'image ici

2
DeadlyChambers 18 janv. 2020 à 07:18

Toute date future en Javascript (le test postman utilise Javascript) peut être récupérée comme:

Var dateNow = nouvelle date ();
var twoWeeksFutureDate = nouvelle date (dateNow.setDate (dateNow.getDate () + 14)). toISOString ();

Postman.setEnvironmentVariable ("future-date", twoWeeksFutureDate);

1
Dheeraj 19 mai 2020 à 06:38
47355150