Escribí el siguiente código
Date d = new Date();
CharSequence s = DateFormat.format("MMMM d, yyyy ", d.getTime());
Pero me pregunta parámetro, quiero la fecha actual en formato de cadena,
me gusta
28-Dec-2011
para que pueda establecer TextView
,
explique un poco, si cree que algo es necesario, soy nuevo en el desarrollo de Android.
android
date
simpledateformat
android-date
Chatar Veer Suthar
fuente
fuente
DateFormat
clase estaba bien cuando se hizo esta pregunta en 2011, esa clase y su subclaseSimpleDateFormat
siempre fueron problemáticas y ahora están desactualizadas. Le recomiendo que no los use y, en cambio, busque en java.time, la API moderna de fecha y hora de Java .Respuestas:
Puede usar la
SimpleDateFormat
clase para formatear la fecha en el formato deseado.Simplemente revise este enlace donde tenga una idea para su ejemplo.
Por ejemplo:
Actualizar:
El ejemplo detallado está aquí , le sugiero que siga este ejemplo y comprenda el concepto de la clase SimpleDateFormat.
Solución final:
fuente
java.util.Date
,java.util.Calendar
yjava.text.SimpleDateFormat
ahora son heredadas , suplantadas por las clases java.time integradas en Java 8 y posteriores. Ver Tutorial de Oracle .Su código simple de una línea para obtener la Fecha actual en este formato aaaa-MM-dd puede usar el formato que desee:
fuente
Esto no tiene nada que ver con Android, ya que está basado en Java, por lo que podría usar
fuente
fuente
prueba esto,
fuente
Primero necesitas una instancia
fuente
Funciona como un encanto y se convierte en String como un bono;)
fuente
// importar clase de fecha como java.util
fuente
El siguiente código muestra la hora y la fecha.
fuente
fuente
Estoy proporcionando la respuesta moderna.
java.time y ThreeTenABP
Para obtener la fecha actual:
Esto le da un
LocalDate
objeto, que es lo que debe usar para mantener una fecha en su programa. UNALocalDate
es una fecha sin hora del día.Solo cuando necesite mostrar la fecha a un usuario, formatee en una cadena adecuada para la configuración regional del usuario:
Cuando ejecuté este fragmento hoy en la configuración regional de inglés de EE. UU., La salida fue:
Si lo desea más corto, especifique
FormatStyle.MEDIUM
o inclusoFormatStyle.SHORT
.DateTimeFormatter.ofLocalizedDate
usa la configuración regional de formato predeterminada, por lo que el punto es que dará una salida adecuada para esa configuración regional, diferente para diferentes configuraciones regionales.Si su usuario tiene requisitos muy especiales para el formato de salida, use una cadena de patrón de formato:
Estoy usando y recomendando java.time, la API de fecha y hora moderna de Java.
DateFormat
,SimpleDateFormat
,Date
YCalendar
se utiliza en la pregunta y / o muchas de las otras respuestas, están mal diseñados y largo anticuado. Y java.time es mucho más agradable para trabajar.Pregunta: ¿Puedo usar java.time en Android?
Sí, java.time funciona bien en dispositivos Android más antiguos y nuevos. Solo requiere al menos Java 6 .
org.threeten.bp
con subpaquetes.Enlaces
java.time
se describió por primera vez.java.time
Java 6 y 7 (ThreeTen para JSR-310).fuente
DateTimeUtils.toDate(yourLocalDateTime.atZone(ZoneId.systemDefault()).toInstant())
. Si se utiliza el java.time incorporada:Date.from(yourLocalDateTime.atZone(ZoneId.systemDefault()).toInstant())
. Consulte Conversión entre java.time.LocalDateTime y java.util.Date . La respuesta autorizada de JodaStephen está allí, y también una respuesta que muestra el uso del backport .fuente
28-Dec-2011
) que no está en las otras respuestas? En cualquier caso, todavía está usando laSimpleDateFormat
clase notoriamente problemática y desactualizada . Por favor, no necesitamos más respuestas para hacer eso.fuente
Un simple ajuste a la solución de Paresh:
fuente
fuente
Puede usar el siguiente código para obtener una fecha en el formato que desee.
fuente
Esta es la mejor respuesta ...
fuente
La forma más sencilla de obtener la fecha actual en la configuración regional actual (configuración regional del dispositivo):
Si quieres tener la fecha en diferentes estilos usa
getDateInstance(int style)
:Otros estilos:
DateFormat.LONG
,DateFormat.DATE_FIELD
,DateFormat.DAY_OF_YEAR_FIELD
, etc (uso CTRL+Spacepara ver todos ellos)Si también necesitas el tiempo:
fuente
fuente
intente con este enlace de código, esta es la respuesta correcta absoluta para todos los casos en toda la fecha y hora. o personalizar la fecha y la hora según la necesidad y el requisito de la aplicación.
intente con este enlace. prueba con este enlace
fuente
Escribí la aplicación de calendario usando CalendarView y es mi código:
El campo 'calendario' es mi CalendarView. Importaciones:
Tengo fecha actual sin errores.
fuente
Este es el código que usé:
fuente
Ya he usado esto:
al principio tengo tiempo, luego declare un Formato de fecha simple (para obtener una fecha como: 19-6-2018) luego uso el formato para cambiar la fecha a cadena.
fuente
solo un código de línea para obtener un formato de fecha simple:
salida: 18-mayo-2020
salida: 18-mayo-2020 11:00:39 AM
salida: 11:00:39 AM
Espero que esta respuesta sea suficiente para obtener este formato de fecha y hora ... :)
fuente
SimpleDateFormat
yDateFormat
clases desactualizadas y notoriamente problemáticas . Al menos no como la primera opción. Y no sin ninguna reserva. Hoy tenemos mucho mejor enjava.time
la moderna API de fecha y hora de Java, y suDateTimeFormatter
. Sí, puedes usarlo en Android. Para Android antiguo, vea Cómo usar ThreeTenABP en Android Project .Este es el código que usé :
fuente