W mojej aplikacji generuję pliki losowo. Aby zapewnić unikalne nazewnictwo, próbowałem użyć nano sekund od 1.1.1970:Jak działa funkcja DateTime.Now.Ticks?
long time = DateTime.Now.Ticks;
String fileName = Convert.ToString(time);
Console.WriteLine(fileName);
Teraz zaobserwowałem coś dziwnego. Dlaczego wyniki są takie? Chodzi mi o to, dlaczego ostatnie 4 liczby są zawsze takie same? Mogę użyć tego jako nazwy pliku, to nie jest problem, ale po prostu się nad tym zastanawiam.
634292263478068039
634292263512888039
634292263541368039
634292263603448039
634292263680078039
"Cwaniaczki" nie są nano sekundami od "1.1.1970", prawdopodobnie jesteście zdezorientowani metodą JavaScript 'getTime()'. Zaczerpnięte z oficjalnej witryny msdn: * Wartość tej właściwości reprezentuje liczbę przedziałów 100-nanosekundowych, które upłynęły od godziny 00:00 północy, 1 stycznia 0001 * (http://msdn.microsoft.com/en- us/library/system.datetime.ticks.aspx) –
Mówiąc dokładniej, kleszcz nie jest nanosekundą, tick ma reprezentować 100 nanosekund. –
@Shadow Wizard: tak, to jest to, czego potrzebuję. –