в C# есть возможность передать время через массив байтов таким образом:
DateTime FromDate = DateTime.Now;
b = BitConverter.GetBytes(FromDate.ToBinary())
//и обратно
FromDate = DateTime.FromBinary(BitConverter.ToInt64(b, 0));
как сделать тоже самое на андроид?
Date FromDate = new Date();
byte[] bb = ByteBuffer.allocate(8).putLong(FromDate.getTime()).array();
оно возвращает во первых массив развёрнутый. а во вторых значения разные.
можно привести в нужный вид из андроида с помощью функции:
static DateTime JavaLongToCSharpLong(long javaLong)
{
TimeSpan ss = TimeSpan.FromMilliseconds(javaLong);
DateTime Jan1st1970 =
new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
DateTime ddd = Jan1st1970.Add(ss);
DateTime final = ddd.ToUniversalTime();
return final;
}
но мне нужно чтобы андроид код сразу выдавал значение, которое можно будет принять без этой функции
решил так:
ByteBuffer.allocate(8).putLong(dt2.getTime().getTime()*10000+621355968000000000l).array();
т.е. добавил разницу во времени
(dt2.getTime().getTime()*10000 - это не очень точно, но для моей задачи достаточно)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Прошу помощи в организации чтения адресов из базы данных (SQL)Есть таблица, в которую занесены IP адреса, каким-то образом необходимо организовать...
В проекте ASPNet Core MVC необходимо реализовать обработку исключений
Не получается преобразовать byte[] в byteКогда я хочу вернуть открытый и закрытый ключи byte[] keys = new byte[] { publicKey, privateKey }; Пишет Cannot implicitly convert type 'byte[]'...