ForHosting KIT · Date e tempo

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
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Data e ora
2024-02-29T12:34:56.1234567+02:30
Ottiene
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.

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.

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.

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.

POSThttps://api.kit.forhosting.com/date/date-to-dotnet-ticks

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

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"}'
{
  "datetime": "2024-02-29T12:34:56.1234567+02:30"
}
{
  "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.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

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.

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.

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.

Leggi la documentazione completa del KIT →