Por que o meu J2ME não datefield exibir a data correta?

votos
1

Eu sou armazenar valores e valores de data em uma loja de discos. Eu tenho o meu campo de data configurado como este:

StartDate = new DateField(Start Date , DateField.DATE);
                cal1 = Calendar.getInstance();
                cal1.set(Calendar.YEAR, 2009);
                cal1.set(Calendar.MONTH, 0);
                cal1.set(Calendar.DAY_OF_MONTH, 1);
                StartDate.setDate(cal1.getTime());

e eu salvar a data como uma string como segue:

 strStartDate = cal1.get(cal1.DAY_OF_MONTH) + / +
                (cal1.get(cal1.MONTH) + 1) + / +
                cal1.get(cal1.YEAR);
 String detailsToAdd = strStartDate

(I ter encurtado o código.) Agora, eu quero ser capaz de editar a data em um estágio futuro. No entanto, eu preciso o código para ser capaz de fazer isso. Até agora eu tenho:

EStartDate = new DateField(Start Date , DateField.DATE);

Eu tive que mudar o nome da DateFieldcaixa como este foi em conflito com outras coisas.

Basicamente, eu preciso ser capaz de mostrar atributo de data do registro selecionado. Eu tenho atualmente a outra informação exibida. Eu só preciso ser capaz de mostrar a data correta. Quando eu executar o programa o campo de data diz <date>.

Qualquer ajuda será bom

Publicado 06/04/2009 em 16:34
fonte usuário
Em outras línguas...                            


3 respostas

votos
1

Seu primeiro código como a seguir é correta:

            StartDate = new DateField("Start Date ", DateField.DATE);
            cal1 = Calendar.getInstance();
            cal1.set(Calendar.YEAR, 2009);
            cal1.set(Calendar.MONTH, 0);
            cal1.set(Calendar.DAY_OF_MONTH, 1);
            StartDate.setDate(cal1.getTime());

Mas, para o segundo, você não pode salvar data para String diretamente. Você deve convertê-lo para String como este:

            String detailsToAdd =strStartDate.toString();
Respondeu 07/09/2011 em 20:27
fonte usuário

votos
0

Trecho de código que você forneceu não usa setDate (Data) . Se o seu código real não usá-lo também, então <date>no campo é o comportamento correto - diz-lhe que data é "não inicializado".

Nesse caso, a primeira fumaça testar-lo com um código simples, como

    eStartDate = new DateField("Start Date ", DateField.DATE);
    eStartDate.setDate(new Date());

então, se isso mostra a data, aprender a recriar parâmetro Data necessária a partir strStartDate. Ou seja, recriar se você quiser usuário seja capaz de modificá-lo - porque se tudo que você precisa é para mostrar a data, seria mais simples de usar StringItemexibindo corda necessária em vez

Respondeu 08/09/2011 em 13:21
fonte usuário

votos
0

Poderia ser que o local que você estiver executando em não aceitar datas com / como separador? Estou certo de que há uma maneira independente de localidade para compor uma data sem usar concatenação como no seu exemplo.

Respondeu 09/04/2009 em 23:35
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more