Convertir le format de chaîne à la date dans Android

J'essaie de convertir le format string à la date. J'essaie de nombreuses façons de le faire. Mais pas réussie. Ma chaîne est "Jan 17, 2012". Je veux convertir ceci comme "2011-10-17". Quelqu'un pourrait-il me dire comment faire cela? Si vous avez travaillé avec des exemples, cela serait vraiment utile!

  • Désactiver Double Tap Zoom / Unzoom sur une vue web
  • Changez le côté où le texte apparaît sur un bouton radio
  • Débogage de fichiers de compilation Gradle dans Intellij / Android Studio
  • Paramètres incorrects: BadParametersError: les paramètres étaient incorrects. Nous voulions les capacités requises sur la grille Selenium pendant l'exécution d'Appium
  • Utilisez PreferenceActivity pour configurer widget, comment récupérer les préférences?
  • Où les testeurs alpha téléchargent-ils les applications Google Play Android?
  • Android USB reverse tethering: comment tromper les applications
  • Comment mettre le bouton du contrôleur multimédia sur la barre de notification?
  • Définir le texte en valeur entière
  • Android: recadrer une image après l'avoir prise avec la caméra avec un ratio d'aspect fixe
  • Comment faire référence à l'activité enfant de TabHost pour appeler une fonction publique?
  • Comment masquer les images de la galerie Android
  • 6 Solutions collect form web for “Convertir le format de chaîne à la date dans Android”

    public class DateFormatClass { public static void main(String[] args) { String mytime="Jan 17, 2012"; SimpleDateFormat dateFormat = new SimpleDateFormat( "MMM dd, yyyy"); Date myDate = null; try { myDate = dateFormat.parse(mytime); } catch (ParseException e) { e.printStackTrace(); } SimpleDateFormat timeFormat = new SimpleDateFormat("yyyy-MM-dd"); String finalDate = timeFormat.format(myDate); System.out.println(finalDate); } } 
      String format = "yyyy-MM-dd"; SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.US); System.err.format("%30s %s\n", format, sdf.format(new Date(0))); sdf.setTimeZone(TimeZone.getTimeZone("UTC")); System.err.format("%30s %s\n", format, sdf.format(new Date(0))); 

    Ce produit produit cette sortie lorsqu'il est exécuté dans le fuseau horaire PDT:

      yyyy-MM-dd 1969-12-31 yyyy-MM-dd 1970-01-01 

    Pour plus d'informations, regardez ici

    Je suggère d'utiliser Joda Time , c'est la meilleure et la plus simple bibliothèque pour les manipulations date / dateTime en Java, et c'est ThreadSafe (par opposition aux classes de mise en forme par défaut en Java).

    Vous l'utilisez de cette façon:

     // Define formatters: DateTimeFormatter inputFormat = DateTimeFormat.forPattern("MMM dd, yyyy"); DateTimeFormatter outputFormat = DateTimeFormat.forPattern("yyyy-MM-dd"); // Do your conversion: String inputDate = "Jan 17, 2012"; DateTime date = inputFormat.parseDateTime(inputDate); String outputDate = outputFormat.print(date); // or: String outputDate = date.toString(outputFormat); // or: String outputDate = date.toString("yyyy-MM-dd"); // Result: 2012-01-17 

    Il fournit également de nombreuses méthodes utiles pour les opérations sur les dates (ajouter un jour, une différence de temps, etc.). Et il fournit des interfaces à la plupart des classes pour une stabilité facile et une injection de dépendance.

    Pourquoi voulez-vous convertir une chaîne en chaîne, essayez de convertir l'heure actuelle en longueur d'image en chaîne formée, cette méthode convertira votre milisconds en un format de données.

      public static String getTime(long milliseconds) { return DateFormat.format("MMM dd, yyyy", milliseconds).toString(); } 

    Vous pouvez également essayer la classe DATE FORMATE pour une meilleure compréhension.

     You can't convert date from one format to other. while you are taking the date take you have take the date which ever format the you want. If you want the date in yyyy-mm-dd. You can get this by using following way. java.util.Calendar calc = java.util.Calendar.getInstance(); int day = calc.get(java.util.Calendar.DATE); int month = calc.get(java.util.Calendar.MONTH)+1; int year = calc.get(java.util.Calendar.YEAR); String currentdate = year +"/"+month +"/"+day ; 
     public static Date getDateFromString(String date) { Date dt = null; if (date != null) { for (String sdf : supportedDateFormats) { try { dt = new Date(new SimpleDateFormat(sdf).parse(date).getTime()); break; } catch (ParseException pe) { pe.printStackTrace(); } } } return dt; } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.