Jak skonwertować DataTime w C#

Jak skonwertować DataTime w C#
Mondonno
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska
  • Postów: 88
0

Czy da się skonwertować DateTime w konsoli do int lub do double?
Czy jest to możliwe?

Mondonno
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska
  • Postów: 88
0

;(
Nie Działa

neves
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1114
1

Możesz użyć DateTimeOffset pośrednio albo bezpośrednio

Kopiuj
long number = new DateTimeOffset(DateTime.Now).ToUnixTimeMilliseconds();
Kopiuj
long number = DateTimeOffset.Now.ToUnixTimeMilliseconds();
szalonyfacet
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Dąbrowa Górnicza
1

Konwersja daty do inta polega na wyciagnieciu liczby sekund jakie uplynely od poczatku roku 1970 do twojej obecnje daty i potem da sie to latwo odtworzyc.

w .net 4.8 masz takie cos: DateTimeOffset.UtcNow.ToUnixTimeSeconds()

w nizszych troche wiecej dlubania:
Int32 unixTimestamp = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;

ZK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 273
1

To nie jest możliwe. Na typ long możesz przekonwertować bo wszystko jest upakowane w 8 bajtach ale typu long na double nie da się zawsze przekonwerotwać bezstratnie.

Kopiuj
using System;


namespace Program
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime data = DateTime.Now;
            Console.WriteLine(data);
            long dataL = data.Ticks;

            DateTime data2 = new DateTime(dataL);
            Console.WriteLine(data2);
        }
    }
}
Azarien
  • Rejestracja: dni
  • Ostatnio: dni
2
Kopiuj
            var d = DateTime.Now;
            long l = d.ToBinary();
            Console.WriteLine(l);
            var e = DateTime.FromBinary(l);

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.