Java Dates – ¿Cuál es la clase correcta para usar?

Así que toda la fecha de Java / Calendar / GregorianCalendar cosa es obviamente una broma. ¿Cuál es la clase de fecha correcta para usar?

Edit: Construyendo un SDK para terceros en Android donde la aplicación necesita para proporcionar una fecha

Más Editar: Cosas que hacen esto tan obviamente una broma:

  • 99% de fecha está obsoleto
  • El año de la fecha es desplazado de 1900
  • El mes de la fecha es indexado en cero mientras que el día es un índice
  • Las fechas son mutables
  • Se supone que debes usar un Calendario para crear una fecha …
  • … excepto que realmente tienes que usar un GregorianCalendar
    • ¿Un porcentaje significativo de los desarrolladores desea utilizar un calendario diferente?
  • Calendar.getTime () devuelve una fecha
  • No hay Matemáticas de fecha (como cuán distantes son dos fechas en años)
    • Jugar con milisegundos desde la época no cuenta
  • No puedes encadenar partes para obtener una expresión (como la fecha hace un año hoy)
  • Probablemente más cosas

Joda-Time . Incluso en Android.

Si quieres seguir las clases de Java SE, depende de lo que intentes hacer.

Edit: Sigues cambiando tu pregunta. Date y Calendar .

El tipo de fecha "correcto" depende totalmente de su aplicación; Sin embargo, java.util.Calendar es generalmente aceptado como el reemplazo de java.util.Date ya que proporciona más funcionalidad (especialmente en relación con la extracción de elementos de fecha individuales como año, mes, etc). En realidad, Date puede ser mucho más fácil de usar para ciertas situaciones (y es el que utilizan las propias clases de DateFormat Java), por lo que es una llamada de juicio.

No es difícil convertir entre los dos por lo que elegir uno y se adhieren a él de forma coherente para su API. Si tuviera que escoger uno usaría Date porque es el más simple, IMHO.

  • Reemplazar el nuevo método dexlib2 fallando
  • Programación en la tableta Android
  • Haga que el temporizador de cuenta regresiva pase de 10sec a 1sec
  • ¿Cómo obtener la dirección MAC de la interfaz de red WiFi?
  • Tarea regular de Android (equivalente a cronjob)
  • Java Jackson org.codehaus.jackson.map.exc.UnrecognizedPropertyException
  • Búsqueda por filtro geográfico con soundcloud api
  • FCM: onMessageReceived no se llama, la notificación no llegó incluso después de enviar msg a fcm?
  • Interpretación FFT
  • Lidiando con la intención implícita en la depreciación futura en Lollipop
  • ¿Hay algunas herramientas para implementar el enfoque de "Código primero" en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.