Comment soustraire une durée fixe de la colonne Date Heure ?J'ai une table de données avec EntryDate comme l'une des colonnes. Il contient des entrées de ligne au format suivant
07/07/2023 08:20:21
Je veux en soustraire le décalage suivant et obtenir newEntryDate dans une nouvelle colonne.
184 jours, 14 heures, 14 minutes et 43 secondes
(ou 6 mois, 2 jours, 14 heures, 14 minutes, 43 secondes)
Comment faire cela dans JMP/JSL ?
De plus, tout newEntryDate qui aboutit à une valeur négative après l'opération ci-dessus doit être remplacé par l'entrée de ligne correspondante dans la colonne EntryDate. Je peux le faire en partie manuellement, mais une option formule/JSL est préférable.
Automatisation et scriptsles fenêtresRe : Comment soustraire une durée fixe de la colonne Date Heure ?Convertissez votre temps en secondes et vous pourrez ensuite le déduire
:entryDate - (In Days(184) + In hours(14) + In Minutes(14) + 43)
Re : Comment soustraire une durée fixe de la colonne Date Heure ?@jthi Merci. J'ai presque réussi mais je n'ai pas réalisé que 43 pouvait être soustrait directement. Je cherchais un En secondes () fonction.
Pendant que je suis sur ce sujet, comment puis-je obtenir la différence/durée en secondes entre :Date d'entrée et :nouvelleDateEntrée ?
Re : Comment soustraire une durée fixe de la colonne Date Heure ?Les dates, heures et dates-heures sont stockées sous forme de nombre de secondes. Donc, pour obtenir la différence entre deux dates en secondes, soustrayez simplement l’une de l’autre.
Si vous voulez la différence dans d'autres unités, vous pouvez utiliser le Différence de date() fonction.
En savoir plus: Utilisation de dates, d'heures, de dates-heures et de durées dans JMP .
Re : Comment soustraire une durée fixe de la colonne Date Heure ?@Jeff_Perkinson . D'accord merci. Comment convertir la date dans le format dont je dispose en secondes ?
Re : Comment soustraire une durée fixe de la colonne Date Heure ?>> C'est un type numérique et continu
Si votre colonne de date est numérique/continue comme vous l'avez spécifié, alors elle est déjà en secondes, en coulisses pour ainsi dire.Vous devez avoir spécifié un format de colonne de m/j/a:m:s .Si vous souhaitez afficher les secondes, utilisez un format numérique.
Voici un tableau dans lequel la première colonne utilise le format de date et la seconde le format numérique :

New Table( "Test Date", Add Rows( 2 ),
New Column( "Date Format", Numeric, "Continuous",
Format( "m/d/y h:m:s", 23, 0 ),
Input Format( "m/d/y h:m:s", 0 ),
Set Values( [3771562821, 3771562821] )
),
New Column( "Date in Seconds", Numeric, "Continuous", Format( "Best", 12 ),
Formula( :Date Format )
)
);