Это приложение называется утечкой canary.
// For development purposes only
// https://github.com/square/leakcanary
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1'
Удалите эти строки из файла build.gradle, если они у вас есть.
Вы также должны иметь эту строку LeakCanary.install(this);
в ваш файл активности, и вы также должны удалить его.
Вы уже делаете его правильно, 1227643821 просто не 12.02.2008, это действительно 25.11.2008.
Единственной вещью, о которой я могу думать, является попытка, округляющая десятичную часть прежде, чем преобразовать его в дату. Если это не изменяет результат, то результат корректен.
Jeff, важная вещь понять при контакте с метками времени: они представляют время, которые передали с 0:00:00 01.01.1970 в GMT, не в Вашем часовом поясе (если Вы не находитесь самостоятельно в GMT, конечно).
1227643821 действительно представляет время GMT 20:10:21 25.11.2008.
Это находится 25-го ноября 2008 в большей части мира, однако в часовых поясах на восток Москвы (и в самом Московском часовом поясе летом из-за летнего времени) it’s уже 26-го ноября. С тех пор большая часть “extreme” на восток часовой пояс является GMT+14, there’s никакое место в мире, где метка времени 1227643821 может представить дату позже затем 26-е.
Автор исходного значения может иметь так или иначе ошибочный при контакте с часовыми поясами. Или просто ошибочный. Например, при вычислении значения, добавили секунды вместо миллисекунд на некотором шаге.