Конкретно по случаю.
Нужно передать дату с Клиента .NET на клиент Qt (по сети)
На данный момент строковое представление пакую в байты и отправляю.
Но этот вариант стал не удобен из за нецелесообразного расхода трафика.
Надо в байты меньшего размера впихнуть.
Итак есть код .NET
Int64 secs = DateTime::Now::get().Ticks::get();
MSDN
Gets the number of ticks that represent the date and time of this instance.
и приписочка
The value of this property represents the number of 100-nanosecond intervals that have elapsed since 12:00:00 midnight, January 1, 0001.
вот.. в QT есть
void QDateTime::setTime_t ( uint seconds )и описание
Sets the date and time given the number of seconds that have passed since 1970-01-01T00:00:00, Coordinated Universal Time (Qt::UTC). On systems that do not support time zones this function will behave as if local time were Qt::UTC.
Установил часовой пояс UTC
Для получения секунд от 1970 написал следующее
DateTime d(1970,01,01,0,0,0,0);
Int64 secsMinus = d.Ticks::get();
Int64 secs = DateTime::Now::get().Ticks::get();
secs = secs - secsMinus;
secs отправил в клиент QT
ServerTime.setTime_t(secs);
и дата не правильная ..
подойдут любые идеи как разобраться с этим способом, или есть какой другой дату в байты
чтоб было как-то ..