Convertire una data in tick .NET
Il 29 febbraio 2024 alle 12:34:56.1234567 con offset +02:30 corrisponde a 638447978961234567 tick, contati in UTC. Inserisca data, ora e offset e otterrà i tick .NET esatti e l'istante UTC che rappresentano. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Data e ora
- 2024-02-29T12:34:56.1234567+02:30
- Data e ora UTC
- 2024-02-29T10:04:56.1234567Z
- Tick .NET
- 638447978961234567
- Unità dei tick
- 100 nanoseconds
Converta una data e ora ISO 8601 completa nel numero esatto di tick usato dai valori DateTime . NET. Il convertitore richiede un indicatore UTC o un offset numerico esplicito, convalida data e ora gregoriane, conserva le frazioni fino a cento nanosecondi ed esegue ogni calcolo in UTC.
Inserisca una data ISO priva di ambiguità
Inserisca una data e ora del calendario gregoriano nel formato YYYY-MM-DDTHH:mm:ssZ, oppure sostituisca Z con un offset numerico come +02:30 o -05:00. I secondi sono obbligatori perché una conversione in tick . NET rappresenta un istante preciso, non una data approssimativa.
Può aggiungere da una a sette cifre dopo il punto decimale. Sette cifre corrispondono esattamente alla risoluzione di cento nanosecondi di un tick DateTime; le frazioni più brevi vengono completate a destra, quindi .5 indica cinque decimi di secondo e non cinque tick. Il fuso orario è obbligatorio.
Tale requisito impedisce allo stesso testo di generare risposte diverse su computer configurati con zone locali differenti. Il convertitore rifiuta date impossibili, secondi intercalari, l'ora 24, offset fuori dall'intervallo ISO e istanti che, normalizzati in UTC, ricadono fuori dagli anni da 0001 a 9999. Usi Z maiuscola e il separatore letterale T per rappresentare l'istante desiderato in modo compatto e verificabile.
Comprenda come viene calcolato il valore in tick
Un tick DateTime . NET è un intervallo di cento nanosecondi trascorso da 0001-01-01T00:00:00 nel calendario gregoriano prolettico. Il calcolo convalida prima anno, mese, giorno, ora, minuto e secondo.
Conta poi i giorni completi precedenti l'anno indicato, applicando le regole gregoriane per gli anni bisestili, aggiunge i giorni completi dell'anno corrente e converte l'ora del giorno in secondi. L'offset numerico dichiarato viene sottratto per ottenere UTC prima di formare il conteggio dei tick. Infine, i secondi vengono moltiplicati per dieci milioni e si aggiunge la componente frazionaria di sette cifre.
Non intervengono l'orologio di sistema, il fuso dell'host, richieste di rete, valori casuali o il parser Date integrato. Il risultato rimane quindi identico in un worker server e in un browser in qualsiasi fuso.
Verifichi le integrazioni con il risultato UTC normalizzato
Il campo UTC normalizzato è una prova utile: prima di accettare l'intero, Lei può verificare che l'offset fornito abbia spostato l'ora e, quando necessario, la data di calendario nella direzione prevista. In C#, il valore numerico corrisponde ai tick dell'orario UTC normalizzato, con epoca nell'anno uno; non include i flag binari del tipo DateTime. Tenga presente questa distinzione quando esamina valori prodotti da DateTime.ToBinary, convenzioni di archiviazione DateTimeOffset o epoche specifiche di un'applicazione.
La coppia semplifica la diagnosi: un UTC errato indica la gestione dell'offset, mentre un UTC uguale con un intero diverso indica epoca, precisione o arrotondamento numerico.
Casi d'uso
Esamini registrazioni temporali legacy
Converta un istante ISO noto prima di confrontarlo con valori in tick memorizzati in log, esportazioni o vecchie tabelle applicative.
Individui errori di offset e precisione
Controlli la data UTC canonica accanto al conteggio dei tick per distinguere gli errori di fuso dai problemi di frazioni o arrotondamento degli interi.
Domande frequenti
Che cosa rappresenta un tick .NET?
Un tick equivale a cento nanosecondi. In un secondo sono presenti dieci milioni di tick.
È obbligatorio specificare un fuso orario?
Sì. Usi Z o un offset come +01:00. Le date prive di fuso sono ambigue e vengono rifiutate anziché interpretate secondo l'host.
Sono supportate sette cifre frazionarie?
Sì. Il convertitore accetta da una a sette cifre frazionarie e completa le frazioni brevi fino alla precisione DateTime di sette cifre.
Il risultato include i flag del tipo DateTime?
No. Restituisce il conteggio dei tick UTC dall'anno uno, senza i flag aggiuntivi usati da rappresentazioni come DateTime.ToBinary.
Quali date posso convertire?
Qualsiasi istante il cui orario UTC cada tra gli anni 0001 e 9999. Vengono rifiutati date impossibili, secondi intercalari e l'ora 24, così come gli offset fuori dall'intervallo consueto.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/date/date-to-dotnet-ticks \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"datetime":"2024-02-29T12:34:56.1234567+02:30"}'const res = await fetch("https://api.kit.forhosting.com/date/date-to-dotnet-ticks", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"datetime": "2024-02-29T12:34:56.1234567+02:30"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/date-to-dotnet-ticks",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"datetime": "2024-02-29T12:34:56.1234567+02:30"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/date-to-dotnet-ticks", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"datetime":"2024-02-29T12:34:56.1234567+02:30"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"datetime":"2024-02-29T12:34:56.1234567+02:30"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/date-to-dotnet-ticks", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"datetime": "2024-02-29T12:34:56.1234567+02:30"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.date_to_dotnet_ticks",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Il risultato viene restituito come stringa decimale affinché anche i valori molto grandi rimangano esatti in JavaScript, JSON, fogli di calcolo, strumenti da riga di comando e test d'integrazione fra linguaggi.
Comprenda come viene calcolato il valore in tick
Poiché quasi ogni valore utile supera il limite degli interi esatti di JavaScript, dotnet_ticks viene intenzionalmente restituito come stringa decimale. Lo tratti come intero nei linguaggi che supportano interi a 64 bit, oppure lo conservi come testo nei sistemi JSON che potrebbero arrotondare numeri grandi.
Verifichi le integrazioni con il risultato UTC normalizzato
La risposta include il datetime originale, un utc_datetime canonico con esattamente sette cifre frazionarie, la stringa esatta dotnet_ticks e una descrizione chiara dell'unità del tick. Ciò è particolarmente utile nel confronto tra un payload API e log C#, esportazioni SQL, dati di telemetria o file legacy con timestamp serializzati come tick.
Casi di integrazione
Prepari fixture di test fra linguaggi
Crei stringhe di tick attese ed esatte per test d'integrazione JavaScript, C#, database e API senza dipendere dal fuso orario del computer.
Domande tecniche
Perché dotnet_ticks viene restituito come stringa?
La maggior parte dei valori DateTime supera l'intervallo degli interi sicuri di JavaScript. Una stringa decimale conserva ogni cifra in JSON e nel browser.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. La versione per browser usa la stessa logica di conversione deterministica.