Как перевести дату время в значение типа int? - страница 2

 
ROMAN KIVERIN:

uint

без разницы, можете и int использовать, все равно 4 байта будете отправлять и на стороне приемника 4 байта получите

 
Я не знаю C#, но догадываюсь, что его DateTime - это двоичные данные. Тогда я бы почитал, что оно представляет и сделал бы простую конвертацию. В mql datetime, как известно, это количество секунд с 01.01.1970. Дата файла в винде, например, это количество единиц по 100 нс с 01.01.1601. Так что я перевел единицы в секунды и вычел разницу в секундах между 1601 и 1970 годами, учтя количество високосных лет.
 
Edgar Akhmadeev:
Я не знаю C#, но догадываюсь, что его DateTime - это двоичные данные. 

в C# за что ни возьмись, все обьекты, включая и DateTime

вот в VS2019 проверил с выводом:

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("t = ");
            int t = Convert.ToInt32(Console.ReadLine());
            TimeSpan ts = TimeSpan.FromSeconds(t);
            DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) + ts;
            
            Console.WriteLine(dt.ToLongDateString() + " : " + dt.ToLongTimeString());
            Console.ReadKey();
        }
    }
}

код MQL чтобы узнать время в int  ))

void OnStart()
{
   int t =(int)TimeLocal();
   Print("t = ",t);     //t = 1583078979
}


 
int unixTime = (int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
 
Igor Makanu:

в C# за что ни возьмись, все обьекты, включая и DateTime

вот в VS2019 проверил с выводом:

код MQL чтобы узнать время в int  ))

Sergey Zhilinskiy:
int unixTime = (int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;

Спасибо дорогие друзья. Премного благодарен. Без Вашей помощи никак. Ждём Тестера. :)

Edgar Akhmadeev:
Я не знаю C#, но догадываюсь, что его DateTime - это двоичные данные. Тогда я бы почитал, что оно представляет и сделал бы простую конвертацию. В mql datetime, как известно, это количество секунд с 01.01.1970. Дата файла в винде, например, это количество единиц по 100 нс с 01.01.1601. Так что я перевел единицы в секунды и вычел разницу в секундах между 1601 и 1970 годами, учтя количество високосных лет.

Да я тоже толком не разбираюсь. Так пальцем тыкаю наугад по клавиатуре. Спасибо есть друзья, которые могут вовремя помочь. 

Всем Спасибо за уделённое внимание. Всего, всего, всего Вам самого,самого.

Причина обращения: