obtener fecha en j2me

Iniciado por josco, 14 Agosto 2010, 21:01 PM

0 Miembros y 3 Visitantes están viendo este tema.

josco

si lo muestro en un textfield y me sale: sat aug 14 00:00:00 utc 2010
y si lo muestro en un datafield me sale sat aug 14 2010.

bueno asi lo dejare   :P :P

gracias por ayudar, saludos

Debci

Cita de: josco en 14 Agosto 2010, 23:09 PM
si lo muestro en un textfield y me sale: sat aug 14 00:00:00 utc 2010
y si lo muestro en un datafield me sale sat aug 14 2010.

bueno asi lo dejare   :P :P

gracias por ayudar, saludos
Prueba a componer una string usando los metodos que te hemos dado y luego meterla al textbox.

Es lo mas sensato no? O hay algo mas rapido? xDDD

josco

#12
bueno al fin me decidi por componer un string como dices Debci  lo hice de la siguiente manera y me muestra: sat aug 14 2010 en un textfield


//obtener fecha beta
    cFecha = new DateField( "",DateField.DATE);
    Date fechaactual = new Date(); // Creo un objeto Date con fecha actual
    cFecha.setDate( fechaactual );
    cFecha.setLabel(cFecha.getDate().toString());
    String nombre = cFecha.getLabel();
    tamFecha = nombre.length();
    for(int i=0;i<=tamFecha;i++)//for para sacar el dia y el mes
    {
      String subNombre = nombre.substring(0,i);
      if(subNombre.endsWith(":"))
      {
        diaYmes = subNombre.substring(0,i-3);
        break;
      }
    }
    año = nombre.substring(tamFecha-4,tamFecha);
    //fin de obtener fecha
    txtNombre = new TextField("Nombre",diaYmes+año,30,TextField.ANY);
    this.append(txtNombre);


Debci


athlit

#14
Buenas,
para darle el formato que quieres tambien tienes esta opción:


Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat();
String fecha = sdf.format(d);


Tendrás xx/xx/xxxx xx:xx
Le quitas la hora y listo.

Un saludo.

Gallu

No es recomendable usar Date , como han dicho esta deprecate, podrías hacer lo siguiente

Código (java) [Seleccionar]


import java.util.*;

class MyCalendario extends GregorianCalendar{
public MyCalendario(int year, int month, int date ){
super(year,month,date);
}
public MyCalendario(){
}

public String toString(){
return (this.get(Calendar.DAY_OF_MONTH) + " / "+ this.get(Calendar.MONTH)+ " / " + this.get(Calendar.YEAR));
}
}
class PruebaCalendario{
public static void main(String []arg){
MyCalendario cal = new MyCalendario();
System.out.println(cal);
}
}
Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.

athlit

Buenas Didacso,
si Date está anticuado, tomo nota.

Podrias explicar a un novato como yo el porque de:

public MyCalendario(){
}


y


public String toString()


¿Que hacen ambos? El primero declaras un metodo vacio? Y el segundo declaras un metodo que devolverá un String y le haces el casting a String? (¿?)

Te agradecería me lo aclararas para lograr entenderlo.

Muchas gracias de antemano.

Un saludo.

Gallu

#17
Cita de: athlit en 17 Agosto 2010, 17:33 PM

Podrias explicar a un novato como yo el porque de:

public MyCalendario(){
}


y


public String toString()


¿Que hacen ambos? El primero declaras un metodo vacio? Y el segundo declaras un metodo que devolverá un String y le haces el casting a String? (¿?)

Te agradecería me lo aclararas para lograr entenderlo.

Muchas gracias de antemano.

Un saludo.

Primero , el método vacio es un constructor de la clase MyCalendario, si te fijas ,  cree dos constructores , uno que recibe tres parámetros y uno que no recibe ninguno , es más que nada para poder crear objetos asi
Código (java) [Seleccionar]

MyCalendario calendario = new MyCalendario();

de esta manera creo un calendario apuntando a la fecha de hoy.
Segundo , el método toString se sobreescribe para que en llamadas como
Código (java) [Seleccionar]

MyCalendario calendario = new MyCalendario();
System.out.println(calendario);

se muestre sólamente la información que me interesa mostrar de mi objeto, bien pude crear un método en MyCalendario llamado , getFecha(), y que me devuelva la fecha que envuelve dicho objeto en el formato que me de la gana , pero me parecio más rápido sobreescribir toString, para que me entiendas lo sigueinte es equivalente
Código (java) [Seleccionar]

MyCalendario calendario = new MyCalendario();
System.out.println(calendario);
    es equivalente a
System.out.println(calendario.toString());

si compilas y ejecutas el código te darás cuenta que la salida es
dd/mm/aaaa , o sea , lo que devuelve toString(). Espero haber sido claro .
Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.

athlit

Hola Didacso,
no podrias haberte explicado mejor.

Muchas gracias por las aclaraciones, me han servido de mucho.

Un saludo!

coadki

Hola amigo supongo que ya lo resolviste pero de todas formas lo escribire lo que hice para conseguir es la fecha fue primero fue utilizar esta funcion private String[] split(String original) {
Vector nodes = new Vector();
String separator = " ";
// Parse nodes into vector
int index = original.indexOf(separator);
while(index>=0) {
nodes.addElement( original.substring(0, index) );
original = original.substring(index+separator.length());
index = original.indexOf(separator);
}
// Get the last node
nodes.addElement( original );

// Create splitted string array
String[] result = new String[ nodes.size() ];
if( nodes.size()>0 ) {
for(int loop=0; loop<nodes.size(); loop++)
{
result[loop] = (String)nodes.elementAt(loop);
System.out.println(result[loop]);
}

}

return result;
}
con la cual separo lo que nos da el DATE y lo unico es ver cuales son los indices que nos interesan saludos.