1

Date et heure complète à la création d'un fichier

This commit is contained in:
2025-12-01 01:15:24 +01:00
parent 19952fec1f
commit 87211c9cc3
3 changed files with 40 additions and 5 deletions

34
tools/lib/datetime.js Normal file
View File

@@ -0,0 +1,34 @@
/**
* Ajoute un zéro devant les valeurs inférieures à 10 pour conserver le formatage.
* @param {number|string} value Valeur numérique à normaliser.
* @returns {string} Représentation sur deux caractères.
*/
function pad(value) {
return String(value).padStart(2, '0');
}
/**
* Retourne le timestamp ISO local formatté avec offset.
* @param {Date} value Date à formater (par défaut : maintenant).
* @returns {string} Timestamp ISO 8601 avec fuseau horaire local.
*/
function formatDateTime(value = new Date()) {
const year = value.getFullYear();
const month = pad(value.getMonth() + 1);
const day = pad(value.getDate());
const hours = pad(value.getHours());
const minutes = pad(value.getMinutes());
const seconds = pad(value.getSeconds());
const offsetMinutes = value.getTimezoneOffset();
const sign = offsetMinutes <= 0 ? '+' : '-';
const absOffset = Math.abs(offsetMinutes);
const offsetHours = pad(Math.floor(absOffset / 60));
const offsetMins = pad(absOffset % 60);
return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}${sign}${offsetHours}:${offsetMins}`;
}
module.exports = {
formatDateTime,
};