С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 1 / 0
Регистрация: 26.02.2015
Сообщений: 125

Сравнение времени по UTC

04.02.2016, 20:39. Показов 2076. Ответов 6
Метки ntp, utc (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Подскажите пожалуйста такой вопрос, есть ли возможность посредством C# и .NET сравнивать время например, локальное со временем UTC? Или временем интернета (может быть с сервера времени). Например, открываю WinForm приложение, у меня там в лейбле прописана дата. И мне нужно эту дату сравнить с временем интернета (UTC)? Буду очень признателен. Спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.02.2016, 20:39
Ответы с готовыми решениями:

Преобразование текстового представления времени в формате UTC в локальное представление DateTime
Здравствуйте. Я в целом неплохо разбираюсь в классах DateTime и производных, но следующий случай поставил меня в тупик. Как...

Преобразование даты времени UTC к локальному времени
Здравствуйте, возник такой вопрос: как в питоне реализовать преобразование даты времени в UTC к локальному времени? Например, начальный...

UTC формат времени
Получаю от сервера дату в формате вроде бы UTC. Приходят числа с тринадцатью знаками типа 1004516980000. Как получить из этого дату в...

6
 Аватар для Defazze
325 / 136 / 28
Регистрация: 18.09.2014
Сообщений: 167
04.02.2016, 20:50
Конечно, можно. Взять время например отсюда http://time.is/UTC
и сравнить со своим.
0
1 / 1 / 0
Регистрация: 26.02.2015
Сообщений: 125
04.02.2016, 20:57  [ТС]
Как это сделать посредством .NET? Какой класс или структура?
0
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
04.02.2016, 21:00
C#
1
2
3
4
5
6
7
8
9
10
11
using System;
 
internal sealed class Program {
  static void Main() {
    TimeSpan ts = DateTime.Now - DateTime.UtcNow;
    Console.WriteLine(
      "Days   : {0}\nHours  : {1}\nMinutes: {2}\nSeconds: {3}",
      ts.Days, ts.Hours, ts.Minutes, ts.Seconds
    );
  }
}
0
1 / 1 / 0
Регистрация: 26.02.2015
Сообщений: 125
04.02.2016, 22:32  [ТС]
Не совсем понятно! Зачем мне интервал? Мне нужна конкретная синхронизация со временем интернета!
0
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
04.02.2016, 23:29
C#
1
2
3
4
5
6
7
Process p = new Process();
p.StartInfo.Arguments = "/resync";
p.StartInfo.CreateNoWindow = true;
p.StartInfo.FileName = "w32tm.exe";
p.StartInfo.UseShellExecute = false;
p.Start();
p.WaitForExit();
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18248 / 14172 / 5366
Регистрация: 17.03.2014
Сообщений: 28,850
Записей в блоге: 1
04.02.2016, 23:33
Цитата Сообщение от master_fatum Посмотреть сообщение
Зачем мне интервал? Мне нужна конкретная синхронизация со временем интернета!
Ты спрашивал про сравнение с UTC тебе и привели код для получения UTC времени в C#. Про получение из интернета не было ни слова. Раз нужно это, то вот код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using System.Net;
using System.Net.Sockets;
// ...
public static DateTime GetNetworkTimeUtc(string ntpServer = "time.nist.gov")
{
    // NTP message size - 16 bytes of the digest (RFC 2030)
    var ntpData = new byte[48];
 
    //Setting the Leap Indicator, Version Number and Mode values
    ntpData[0] = 0x1B; //LI = 0 (no warning), VN = 3 (IPv4 only), Mode = 3 (Client Mode)
 
    var addresses = Dns.GetHostEntry(ntpServer).AddressList;
 
    // NTP работает через UDP и использует порт 123
    var ipEndPoint = new IPEndPoint(addresses[0], 123);
    using (var socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp))
    {
        socket.Connect(ipEndPoint);
 
        //Stops code hang if NTP is blocked
        socket.ReceiveTimeout = 3000;
 
        socket.Send(ntpData);
        socket.Receive(ntpData);
    }
 
    //Offset to get to the "Transmit Timestamp" field (time at which the reply 
    //departed the server for the client, in 64-bit timestamp format."
    const byte serverReplyTime = 40;
 
    // Get the seconds part
    ulong intPart = BitConverter.ToUInt32(ntpData, serverReplyTime);
 
    // Get the seconds fraction
    ulong fractPart = BitConverter.ToUInt32(ntpData, serverReplyTime + 4);
 
    //Convert From big-endian to little-endian
    intPart = SwapEndianness(intPart);
    fractPart = SwapEndianness(fractPart);
 
    var milliseconds = (intPart * 1000) + ((fractPart * 1000) / 0x100000000L);
    return (new DateTime(1900, 1, 1, 0, 0, 0, DateTimeKind.Utc)).AddMilliseconds((long)milliseconds);
}
 
// Convert From big-endian to little-endian
static uint SwapEndianness(ulong x)
{
    return (uint)(((x & 0x000000ff) << 24) +
                   ((x & 0x0000ff00) << 8) +
                   ((x & 0x00ff0000) >> 8) +
                   ((x & 0xff000000) >> 24));
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.02.2016, 23:33
Помогаю со студенческими работами здесь

Как достать реальное время UTC , не зависящее от времени компьютера
Мне нужно достать реальное время, которое не будет зависить от времени компьютера. К примеру до этого времени я делал так ...

Сравнение времени
Добрый вечер! У меня есть время в формате; string taym = &quot;06.07.2016&quot;; Как сравнить с текущим, и узнать это прошедшее, будущее или...

Сравнение времени
Здравствуйте. Есть база данных электронных пропусков. Как в конструкторе запросов в поле Дата, таблицы Событий выбрать только те...

Сравнение времени
Такое задание: нужно сравнить 2 введенных пользователем времени (например 21:45 и 01:30) и большее из них вывести на экран. такой вопрос:...

Сравнение времени
Перечитал много тем про преобразование строк в дату и немного запутался. Задача такая есть два строковых значения времени в формате...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru