hola que tal alguien sabe como se puede obtener la fecha en j2me.
estoy haciendo una aplicacion la cual guarda archivos en txt entonces a la hora de pedir el nombre del archivo en un textfield quiero que por default aparezca la fecha pero no se como obtener la fecha. :huh: :huh:
Has probado obteniendola igual que en Java normal?
java.util.Date fecha = new Date();
System.out.println (fecha);
Saludos
si lo acavo de provar jeje, si funciona, como le are para que me la muestre en el siguiente formato: dd/mm/aaaa
Cita de: josco en 14 Agosto 2010, 21:11 PM
si lo acavo de provar jeje, si funciona, como le are para que me la muestre en el siguiente formato: dd/mm/aaaa
Mira asi de sencillo:
java.util.Date fecha = new Date();
System.out.print(fecha.getDay() + "/" + fecha.getMonth() + "/" + fecha.getYear());
De la clase date tienes metodos concretos para obtener todo tipo de datos sobre la fecha:
int getDay()
Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.DAY_OF_WEEK).
int getHours()
Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.HOUR_OF_DAY).
int getMinutes()
Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.MINUTE).
int getMonth()
Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.MONTH).
int getSeconds()
Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.SECOND).
long getTime()
Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this Date object.
int getTimezoneOffset()
Deprecated. As of JDK version 1.1, replaced by -(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000).
int getYear()
Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.YEAR) - 1900.
Cito del api de java:
java.util.Date en el API de Java (http://download.oracle.com/javase/1.4.2/docs/api/java/util/Date.html)
Espero que te sirva.
Saludos
mm no me sale eso de .getday();
hasta el momento tengo esto:
import com.nokia.mid.sound.Sound;
import java.util.Date;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.DateField;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author Noe
*/
public class NombreDelTxt extends Form implements CommandListener {
private TextField txtNombre;
private Command Guardar;
private CronoMusic midlet;
public String[] array = new String[100];
private int Vueltas;
private DateField cFecha;
public NombreDelTxt(CronoMusic m,String Array[],int vueltas)
{
super("Resultados");
midlet = m;
array = Array;
Vueltas = vueltas;
//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());
//fin de obtener fecha
txtNombre = new TextField("Nombre",cFecha.getLabel(),30,TextField.ANY);
Guardar= new Command("Guardar",Command.OK,1);
this.append(txtNombre);
this.addCommand(Guardar);
this.setCommandListener(this);
}
public void commandAction(Command c, Displayable dsplbl) {
if(c==Guardar)
{
String nombre = txtNombre.getString();
System.out.println("nombre = "+nombre);
//midlet.setBrowser(array,nombre,false,Vueltas);
}
}
}
ya muestron en el textfeild la fecha pero con el formato: sat aug 14 00:00:00 utc 2010.
estoy usando netbeans y abjao de
Date fechaactual = new Date(); // Creo un objeto Date con fecha actual
intento poner:
Date dia = fechaactual.getDay
para guardar el dia pero me marca error de que no puede encontrar el simbolo getDay();
Mmm es posible que este deprecated, por eso he añadido las anotaciones del API, fijate que usa calendar para obtenerlo todo :)
Saludos
que tal asi?
java.util.Date date = new java.util.Date();
java.text.SimpleDateFormat simpleDateFormat = new java.text.SimpleDateFormat("dd/MM/yyyy");
String StringDate=simpleDateFormat.format(date);
System.out.println(StringDate);
Cita de: LEYER en 14 Agosto 2010, 22:20 PM
que tal asi?
java.util.Date date = new java.util.Date();
java.text.SimpleDateFormat simpleDateFormat = new java.text.SimpleDateFormat("dd/MM/yyyy");
String StringDate=simpleDateFormat.format(date);
System.out.println(StringDate);
Oido cocina!
Siempre tiendo a complicarme la vida xD
lo intente asi
java.text.SimpleDateFormat
pero marca error en .text como que no lo soparta en j2me
wtf mi eclipse no sirve :xD
Bueno en ese caso no se me ocurre nada, en un datefield no lo veo posible que se coloque como quieres o no se, una de las 2 :xD
Muestralo en un textfiel XD jaja textbox o StringItem
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
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
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);
:)
Saludos
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.
No es recomendable usar Date , como han dicho esta deprecate, podrías hacer lo siguiente
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);
}
}
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.
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
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
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
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 .
Hola Didacso,
no podrias haberte explicado mejor.
Muchas gracias por las aclaraciones, me han servido de mucho.
Un saludo!
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.
ok gracias lo probare, ya lo habia resuelto. ::)