Conversion d’un object Date en object calendrier

Donc, je reçois un atsortingbut de date à partir d’un object entrant sous la forme:

Tue May 24 05:05:16 EDT 2011 

J’écris une méthode d’assistance simple pour le convertir en une méthode de calendrier, j’utilisais le code suivant:

  public static Calendar DateToCalendar(Date date ) { Calendar cal = null; try { DateFormat formatter = new SimpleDateFormat("yyyyMMdd"); date = (Date)formatter.parse(date.toSsortingng()); cal=Calendar.getInstance(); cal.setTime(date); } catch (ParseException e) { System.out.println("Exception :"+e); } return cal; } 

Pour simuler l’object entrant, j’affecte simplement les valeurs dans le code qui utilise actuellement:

 private Date m_lastActivityDate = new Date(); 

Cependant, cela me donne un pointeur nul une fois que la méthode atteint:

 date = (Date)formatter.parse(date.toSsortingng()); 

Voici votre méthode:

 public static Calendar toCalendar(Date date){ Calendar cal = Calendar.getInstance(); cal.setTime(date); return cal; } 

Tout ce que vous faites est à la fois faux et inutile.

BTW, les conventions de nommage Java suggèrent que les noms de méthode commencent par une lettre minuscule, elle devrait donc être: dateToCalendar ou toCalendar (comme indiqué).


OK, traissons votre code, n’est-ce pas?

 DateFormat formatter = new SimpleDateFormat("yyyyMMdd"); date = (Date)formatter.parse(date.toSsortingng()); 

DateFormat est utilisé pour convertir des chaînes en dates ( parse() ) ou dates en chaînes ( format() ). Vous l’utilisez pour parsingr la représentation sous forme de chaîne d’une date à une date. Cela ne peut pas être vrai, n’est-ce pas?

Utilisez simplement Apache Commons

DateUtils.toCalendar (Date date)

c’est si facile … de convertir une date en calendrier comme ceci:

 Calendar cal=Calendar.getInstance(); DateFormat format=new SimpleDateFormat("yyyy/mm/dd"); format.format(date); cal=format.getCalendar(); 

Cette fonction renvoie un object date SQL à partir d’un object date java.

  public java.sql.Date convertJavaDateToSQL(Date d) { java.sql.Date d1= new java.sql.Date(d.getTime()); return d1; }