Пробовал ваш код, проблема с библиотекой 23.4.0.
Обновление до 24. +, в этой библиотеке нет ошибок.
Например:
implementation 'com.android.support:appcompat-v7:24.2.1' // appcompat library
implementation 'com.android.support:design:24.2.1'
Вам также нужно изменить версию компиляции на 24.
compileSdkVersion 24
Я всегда использую что-то вроде следующего:
public static String GetTimestamp(this DateTime value)
{
return value.ToString("yyyyMMddHHmmssfff");
}
Это даст вам строку типа 200905211035131468, поскольку строка идет от битов наивысшего порядка метки времени к простой сортировке строк самого низкого порядка в вашем SQL запросы можно использовать для сортировки по дате, если вы вставляете значения в базу данных
Вы можете использовать свойство DateTime.Ticks, которое является длинным и универсальным хранилищем, всегда увеличивающимся и пригодным для использования в компактной структуре. Только убедитесь, что ваш код не используется после 31 декабря 9999 г .;)
Я считаю, что вы можете создать метку даты в стиле unix с точностью до секунды, используя следующую команду
//Find unix timestamp (seconds since 01/01/1970)
long ticks = DateTime.UtcNow.Ticks - DateTime.Parse("01/01/1970 00:00:00").Ticks;
ticks /= 10000000; //Convert windows ticks to seconds
timestamp = ticks.ToString();
. Регулировка знаменателя позволяет вам выбрать свой уровень точности