Sto provando a formattare alcune date precise, convertendole da un timestamp Unix a un oggetto DateTime. Ho notato che il metodo AddSeconds ha un sovraccarico che accetta un numero in virgola mobile..NET DateTime sta troncando i miei secondi?
La mia aspettativa è che possa passare un numero come 1413459415.93417
e mi darà un oggetto DateTime con precisione a livello tick. Si tratta di un presupposto decente, o does the AddSeconds method still provide no better than millisecond precision?
Nella conversione, devo aggiungere io stesso le spunte?
mio codice di conversione è qui sotto:
public static DateTime CalendarDateFromUnix(double unixTime)
{
DateTime calendarTime = UnixEpoch.AddSeconds(unixTime);
return calendarTime;
}
mi aspetto di formattare il ToString di questa data come 16 Oct 2014 11:36:55.93417
utilizzando la stringa di formato qui sotto:
dd MMM yyyy HH:mm:ss.fffff
Invece di darmi 16 Oct 2014 11:36:55.93417
, sta dando me 16 Oct 2014 11:36:55.93400
Sto facendo qualcosa di sbagliato o .NET tronca la mia rappresentazione in virgola mobile? Sono nuovo di. NET, quindi il primo è del tutto possibile.
Grazie
[Stato-rotto-by-design] – CodesInChaos