2014-11-28 4 views
-1

Я хочу, чтобы программа C запрашивала время даты сервера centOS с сервера Ubuntu через UDP. Я написал код, который извлекает временную метку UTC, которая составляет +06 часов от фактического времени даты в centOS. NTP не допускается.Программа C для получения даты времени сервера centOS с сервера ubuntu?

Я использовал setsockopt, getsockopt, sendto & recvfrom для общения.

Номер порта 1099 & Часовой пояс Centos - это CST, часовой пояс Ubuntu - UTC. Предположим, это Fri, 28 ноября 2014 года 03:06:25 в Centos, после чего ubuntu получает Fri, 28 ноября 2014 года 09:06:25, то есть +0600 hrs. Формат - это метка времени UTC.

Есть ли способ получить эквивалентную временную метку UTC времени даты в centOS от ubuntu?

Я пытаюсь синхронизировать дату времени centOS & Машина Ubuntu, независимо от часового пояса.

Пожалуйста, помогите! Любая идея или предложения.

Спасибо.

+0

Какой номер порта вы используете для связи с сервером centOS? Кроме того, можете ли вы привести пример получаемой вами метки времени и формат «фактического времени», который вы хотите получить? – TonyB

+0

@TonyB Номер порта 1099 и часовой пояс Centos - это CST, часовой пояс Ubuntu - UTC. Предположим, это Fri, 28 ноября 2014 года 03:06:25 в Centos, после чего ubuntu получает Fri, 28 ноября 2014 года 09:06:25, то есть +0600 hrs. Формат - 1417165610. –

+0

@KK «Пт, 28 Ноя 2014 09:06:25» Это временная дата UTC «Пт, 28 ноября 2014 года 03:06:25 КНТ». Что вы действительно хотите сделать? – nos

ответ

0

Предполагается, что CenOS CST - http://en.wikipedia.org/wiki/Central_Standard_Time (UTC-6). Так Пт, 28 Ноя 2014 03:06:25 CST - это то же самое, что и Пт, 28 Ноя 2014 09:06:25 UTC. Итак, вы получаете правильную метку времени UTC.

С вопросом неясно, был ли вы написали сервер, который отправляет временные метки или нет.

Во всяком случае, для преобразования метки времени посмотреть на:

  • gmtime() - interprests отметку времени по Гринвичу;
  • localtime() - интерпретирует отметку времени по местному времени (принимает во время счета зоны)
  • tzset() - часовой пояс изменения используется localtime() (и несколько других функций)

Кроме того, если Вам нужны разбор времени в строковом представлении , strptime() могут помочь (просто имейте в виду, что названия зон/значения могут отличаться или отсутствовать в разных ОС).

 Смежные вопросы

  • Нет связанных вопросов^_^