189 votes

La conversion d'un objet Date, un calendrier de l'objet

Si je reçois un attribut date de l'arrivée d'un objet sous la forme:

Tue May 24 05:05:16 EDT 2011

Je suis en train d'écrire une simple méthode d'aide à la convertir en une méthode du calendrier, j'ai été en utilisant le code suivant:

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

Pour simuler les entrants objet que je suis juste à l'affectation de valeurs dans le code:

private Date m_lastActivityDate = new Date();

Toutefois, ce n'est givin me un pointeur null une fois la méthode atteint:

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

436voto

Sean Patrick Floyd Points 109428

Voici la méthode:

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

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

BTW, les conventions de Nommage Java suggèrent que la méthode de noms commencent par une lettre minuscule, de sorte qu'il devrait être: dateToCalendar


OK, laissez-le lait de votre code, allons-nous?

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

DateFormat est utilisé pour convertir des Chaînes de Dates (parse()) ou des Dates à Cordes (format()). Vous l'utilisez pour analyser la Chaîne de la représentation d'une Date à une Date. Cela peut ne pas être juste, peut-il?

-6voto

jsina Points 21

il est tellement facile...la conversion d'une date du calendrier comme ceci:

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

-8voto

chetan Points 14

Cette fonction retournera sql objet date à partir de java objet date.

 public java.sql.Date convertJavaDateToSQL(Date d)
{

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X