Fraction de trimestre écoulée
À midi UTC le 15 février 2024, le premier trimestre est écoulé exactement à moitié : une fraction de 0,5. Saisissez une date, ou une date-heure avec son décalage, pour voir la part du trimestre déjà passée et celle qui reste, mesurées en secondes. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Date et heure
- 2024-02-15T12:00:00Z
- Année
- 2 024
- Mois
- 2
- Jour
- 15
- Heure
- 12
La fraction de trimestre écoulée répond à une question opérationnelle précise : à un instant civil explicite, jusqu’où l’horloge a-t-elle avancé dans le trimestre grégorien en cours, exprimé comme un nombre continu entre zéro et un, et non comme un décompte de jours entiers ni comme un pourcentage de l’année. Les équipes financières qui planifient les clôtures trimestrielles, les tableaux de bord produit qui affichent des barres de progression du trimestre et les calendriers de SLA qui se réinitialisent aux frontières du trimestre ont besoin de cette part sans dépendre de l’horloge de la machine hôte ni des tables d’heure d’été locales. Ce calculateur accepte une seule date-heure ISO-8601 (ou une chaîne date seule traitée comme minuit UTC), convertit l’instant en temps universel coordonné, identifie lequel des quatre trimestres civils le contient, mesure les secondes depuis le premier minuit du trimestre jusqu’à cet instant, puis divise par la durée totale du trimestre en secondes. La réponse renvoie aussi la fraction restante, les secondes écoulées et restantes, les libellés du trimestre et les dates de début et de fin inclusives, afin que les clients affichent progression et comptes à rebours à partir d’une seule charge utile déterministe.
Comment la fraction d’un trimestre civil est calculée en UTC
Commencez par un horodatage explicite écrit au format ISO-8601 afin que chaque client s’accorde sur les mêmes composantes civiles : année à quatre chiffres, mois à deux chiffres, jour à deux chiffres, et éventuellement heures, minutes, secondes, une fraction de seconde que ce moteur tronque en secondes entières, ainsi qu’un Z final pour l’UTC ou un décalage numérique plus ou moins heures et minutes. Les chaînes date seule, sans partie horaire, sont traitées comme minuit au début de ce jour civil en UTC.
L’analyseur rejette les formes incorrectes, les mois hors plage, les jours impossibles comme le trente et un avril et le vingt-neuf février hors année bissextile, afin qu’une mauvaise donnée ne devienne jamais une progression inventée. Une fois l’instant connu, convertissez-le en une époque UTC mesurée en secondes entières par une arithmétique civile pure qui n’appelle jamais l’objet Date de JavaScript, évitant les surprises de fuseau et d’heure d’été de l’hôte.
Associez le mois UTC au trimestre grégorien standard : janvier à mars est le trimestre un, avril à juin le deux, juillet à septembre le trois et octobre à décembre le quatre. Le trimestre commence à minuit UTC le premier jour de son premier mois et se termine de façon exclusive à minuit UTC le premier jour du trimestre suivant, de sorte que la première seconde d’un trimestre a la fraction zéro et la dernière seconde une fraction qui s’approche de un sans entrer dans le suivant.
Les secondes écoulées égalent l’époque UTC de l’entrée moins celle du début de trimestre ; la longueur du trimestre est l’époque du début du suivant moins celle du courant, ce qui couvre automatiquement les trimestres de quatre-vingt-dix, quatre-vingt-onze ou quatre-vingt-douze jours et le jour de février supplémentaire des années bissextiles au premier trimestre. La fraction rapportée est les secondes écoulées divisées par la longueur du trimestre, nettoyée en flottant stable à douze chiffres significatifs pour des goldens reproductibles.
La fraction restante vaut un moins cette valeur, et les secondes restantes complètent la vue compte à rebours.
Où la progression fractionnaire du trimestre apparaît dans le travail réel
Les équipes produit et finance dessinent des barres de progression trimestrielles pour les OKR, les objectifs de revenu et les dossiers de direction, et ont besoin d’une part continue de zéro à un alignée sur les frontières civiles du trimestre plutôt que d’un compteur de jours entiers qui ignore la progression intra-journée. Les calendriers d’exploitation et SRE qui réinitialisent les budgets d’erreur ou les plans de capacité au début du trimestre utilisent la même fraction pour placer l’instant UTC courant sur un axe normalisé pour alertes et rapports.
Le marketing et les opérations commerciales planifient campagnes et périodes de quota en demandant quelle part du trimestre courant est déjà écoulée lorsqu’un lancement ou un jalon est fixé en forme ISO. Les logiciels qui doivent rester libres de bibliothèques de fuseau hôte ont encore besoin d’une fraction pure de trimestre en UTC pour les fenêtres de conformité, les cycles de facturation et les widgets de productivité personnelle définis par trimestres civils.
Si plus tard vous n’avez besoin que d’un décompte de jours entiers du trimestre, du numéro de trimestre sans fraction, des dates inclusives d’un trimestre nommé ou de la progression annuelle en pourcentage, traitez-les comme des intentions de recherche et des landings distinctes, plutôt que de surcharger cette page de fraction de trimestre écoulée.
Cas d’usage
Tableaux de bord OKR et finance trimestriels
Convertissez toute date-heure ISO en fraction 0–1 de progression du trimestre pour que barres et libellés de fraction restante restent sensibles aux années bissextiles et stables en UTC sans horloges hôte.
Calendriers SLA et budget d’erreur
Placez le jalon courant sur un axe de trimestre normalisé pour les alertes et rapports qui se réinitialisent aux frontières Q1–Q4.
Questions fréquentes
Comment la fraction du trimestre est-elle calculée ?
fraction = (époque UTC de la date-heure − époque UTC du début de trimestre) ÷ (époque UTC du début du trimestre suivant − début de trimestre). Q1 = jan–mar, Q2 avr–juin, Q3 juil–sep, Q4 oct–déc. Le résultat est entre 0 et 1.
Est-ce la même chose que les jours écoulés du trimestre ?
Non. Les jours écoulés renvoient un entier de jours entiers depuis la date de début du trimestre. Cette capacité renvoie une fraction continue de la durée totale du trimestre à une date-heure explicite : une autre intention de recherche.
Une année bissextile change-t-elle la fraction ?
Oui pour le Q1. Les années bissextiles ajoutent le 29 février, donc le Q1 dure 91 jours (7,862,400 secondes) au lieu de 90. Le même instant février–mars mappe donc à une fraction un peu plus petite en année bissextile.
Que se passe-t-il si la date-heure est invalide ?
Forme incorrecte, mois hors plage, jours impossibles comme 2023-02-29 ou composantes horaires invalides sont rejetés et non facturés.
Quel est le coût ?
L’outil navigateur est gratuit et s’exécute en local.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/date/fraction-of-quarter-elapsed \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"datetime":"2024-02-15T12:00:00Z"}'const res = await fetch("https://api.kit.forhosting.com/date/fraction-of-quarter-elapsed", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"datetime": "2024-02-15T12:00:00Z"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/fraction-of-quarter-elapsed",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"datetime": "2024-02-15T12:00:00Z"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/fraction-of-quarter-elapsed", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"datetime":"2024-02-15T12:00:00Z"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"datetime":"2024-02-15T12:00:00Z"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/fraction-of-quarter-elapsed", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"datetime": "2024-02-15T12:00:00Z"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.fraction_of_quarter_elapsed",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Les jours civils impossibles et les horodatages mal formés échouent avec une erreur invalid_input claire au lieu d’un ajustement silencieux.
Ce que vous envoyez, ce que vous recevez et le comportement des erreurs
Envoyez un champ chaîne obligatoire nommé datetime contenant un instant ISO-8601 strict, par exemple deux mille vingt-quatre tiret zéro deux tiret un cinq T douze deux-points zéro zéro deux-points zéro zéro Z, ou une chaîne date seule comme deux mille vingt-quatre tiret zéro quatre tiret zéro un. Les jours qui correspondent au motif mais ne sont pas de vraies dates grégoriennes, y compris le vingt-neuf février hors bissextile et les mois hors de un à douze, échouent aussi avec un message qui nomme le problème pour que vous puissiez corriger l’entrée sans deviner. Les contrôles classiques incluent le premier minuit de janvier mappé à la fraction zéro au trimestre un, la mi-février près de la moitié d’un premier trimestre bissextile ou commun selon le statut bissextile, la première seconde d’avril mappée à zéro au trimestre deux, et la dernière seconde d’un trimestre s’approchant de un tout en restant dans ce trimestre. Les alias date, iso, at, when, value et on sont acceptés avec le même sens, afin que les clients existants branchent le champ sans le renommer. Les champs manquants, les valeurs non chaîne, les chaînes vides et celles qui ne correspondent pas à la forme ISO prise en charge échouent avec invalid_input et ne sont pas facturés. En cas de succès la réponse renvoie une date-heure UTC normalisée avec suffixe Z, l’année, le mois, le jour, l’heure, la minute et la seconde numériques en UTC, le numéro de trimestre de un à quatre, un quarter_label tel que Q2, une chaîne lisible de plage de mois, quarter_start et quarter_end comme dates civiles inclusives YYYY-MM-DD, un booléen is_leap_year utile pour la longueur du premier trimestre, les entiers elapsed_seconds et remaining_seconds, quarter_seconds comme durée totale du trimestre, fraction et remaining_fraction sur l’intervalle unitaire, et une courte chaîne formula documentant la définition UTC. Le prix des appels API réussis est la base publiée de $0.002 par élément ; les échecs de validation ne consomment pas le solde prépayé.
Où la progression fractionnaire du trimestre apparaît dans le travail réel
Comme cette capacité est un moteur parse pur, le prix API est la base publiée de $0.002 par élément réussi et l’échec de validation ne consomme pas le solde.
Cas d'intégration
Jalons de campagnes et de quotas
Marquez lancements et quotas commerciaux d’une fraction de trimestre déterministe à partir d’entrées ISO strictes, avec invalid_input clair sur les horodatages invalides.