Arquivo da Categoria ‘Cursos’

Como lidar com Datas e Horas em Java

segunda-feira, 8 de junho de 2009

Sobre estas Mini Aulas

A partir deste primeiro artigo, pretendo criar alguns posts rápidos sobre conteúdos que ministro na minhas aulas da ETEP.

Para quem caiu de pára-quedas, sou o Prof. Luís Eduardo, e leciono na ETEP Faculdades de São José dos Campos e mantenho este blog com coisas de meu interesse e algum conteúdo das minhas aulas. Coisas de meu interesse: Astronomia, Astronáutica, Livros, Filmes, etc.

Moby Dick download Já tenho no site um curso completo de Java Web e um quase completo video-curso de Asp.net.

Estes cursos eu acabo utilizando em minhas aulas e tem dado bom resultado. No entanto no decorrer das aulas, verifiquei que alguns pontos ficam faltando. Estes detalhes virão com pírulas nestes artigos que vou publicar aos poucos.

Lidando com Datas e Horas em Java

Hoje vou falar um pouco como lidar com valores de data em Java.

java.util.Date

Primeiro nós temos a classe Date em java.util que representa uma data simples em java. Podemos criar uma variável data assim:

java.util.Date x;

Se colocarmos import java.util.*; poderemos omitir na declaração da variável ficando assim:

Date x;

Onde colocar o import? Vá fazer uma revisão em minha aula sobre java básico.

Assim podemos criar um objeto para armazenar nesta variável:

x=new Date();

No momento da criação do objeto Date, o sistema armazena no mesmo a Data/Hora do relógio do computador. Podemos então mostrar a hora atual:

Date x=new Date();
System.out.println(x); //resultado em minha máquina: Fri Jun 05 22:43:25 BRT 2009

java.text.SimpleTextFormat()

Mas como colocar uma data digitada pelo usuário em uma variável Date? Temos que usar conversores. A classe java.text.SimpleTextFormat() nos servirá:

import java.util.*;
import java.text.*;
...
String x=request.getParameter("dataUsuario"); //pegando dados de um formulário WEB
SimpleDateFormat sdf1= new SimpleDateFormat("dd/MM/yyyy"); //você pode usar outras máscaras
Date dataUsuario=sdf1.parse(stx);

O contrário também é importante: mostrar a data em forma de texto. SimpleDateFormat também serve para isso:

String x=request.getParameter("dataUsuario"); //pegando dados de um formulário WEB
SimpleDateFormat sdf1= new SimpleDateFormat("dd/MM/yyyy"); //você pode usar outras máscaras veja documentação abaixo
Date y=new Date();
System.out.println(sdf1.format(y)); //Saída 20/05/2009

java.util.GregorianCalendar

A classe Date é bem simples e serve para armazenar datas apenas. Ainda temos que manipular as datas não é? Tipo acrescentar 10 dias, verificar qual o dia da semana, e coisas assim. Para isso vamos usar a classe GregorianCalendar.

        GregorianCalendar gc=new GregorianCalendar();

Como a classe Date, quando um objeto é criado a data/hora do sistema é assumido automaticamente. Algumas funções da classe são muito úteis. Vamos dar uma olhada:

GET. Obter o valor de um dos componentes da Data, como dia da semana, dia do mês, hora, mês ou qualquer outra coisa:

        GregorianCalendar gc=new GregorianCalendar();
        System.out.println(gc.get(gc.DAY_OF_WEEK)); //Mostra qual o dia da semana 1=domingo, 2=segunda, etc

Além do dia da semana, é possível mostrar a hora (gc.HOUR), minuto (gc.MINUTES), etc. Veja na documentação abaixo os outros valores de campo disponíveis.

Gerry psp

ADD. Adicionar um ou mais dias, horas, mês ou qualquer outra coisa a uma data:

        GregorianCalendar gc=new GregorianCalendar();
        gc.add(gc.MONTH, 2); //Adiciona 2 meses à data atual

Além de gc.MONTH, é possível adicionar horas (gc.HOUR), minutos (gc.MINUTES), etc. É lógico que adicionando valores negativos, você subtrai os valores!

IS LEAP YEAR. Verifica se um ano é bissexto.

        GregorianCalendar gc=new GregorianCalendar();
        System.out.println(gc.isLeapYear(2009)); // imprime falso. 2009 não é bissexto.

Acho que já deu para entender como funciona. Outras funções disponíveis:

    A Sister’s Secret hd
  • SET – mudar o valor de uma data. gc.set(10,03,2009); ou gc.set(10,03,2009,10,30); ou gc.set(gc.HOUR,11);
  • AFTER/BEFORE – verificar se um data é depois ou antes de outrar. gc.after(gc2) gc é depois de gc2?
  • GETMAXIMUN – obter o maior valor disponível para um campo considerando os valores atuais dos outros. gc.getMaximum(gc.DATE); retornaria 28 se o mês fosse fevereiro de um ano não bissexto.

Por fim, para juntar os dois, GregorianCalendar e Date, utilizamos duas funções:

GregorianCalendar gc=new GregorianCalendar();
Date d1=gc.getTime(); //"Pega" a data do GregorianCalendar para uma variável Date
gc.setTime(d1); //Armazena a data de d1 para o GregorianCalendar gc.

Mais informações sobre Date, GregorianCalendar e SimpleDateFormat você pode encontrar na documentação do Java em inglês:

E é isso. Espero que eu tenha sido claro. Qualquer dúvida deixe aí para mim nos comentários, que farei o possível para esclarecer. Bons estudos.

“Ouça” Livros Clássicos e prepare-se para o vestibular

segunda-feira, 21 de julho de 2008

Uma dica do site Lendo.org do André Gazola, estudante de Letras do Rio Grande do Sul: ouça os livros, no lugar de lê-los!

Este site que está no meus leitor de feeds a bastante tempo sempre tem boas dicas. Desta vez eu resolvi publicar aqui para meus leitores. Costumo colocar resenhas de livros que leio por aqui, talvez interesse para vocês:

52 audiobooks grátis para download

Entre outros, vários livros do Machado de Assis, José de Alencar, Eça de Queiroz e outros grandes escritores da língua portuguesa. Aproveitem.

Asp.net Vídeo Aulas | Aula 8: Tela de Cadastro CRUD

sexta-feira, 4 de julho de 2008

Esta é uma aula do curso de Programação em Asp.NET. Para mais informações clique aqui.

Está é a oitava aula, e hoje iremos construir uma página Asp.Net para acessar uma tabela no banco de dados permitindo as operações básica de uma tela de cadastro: Create, Read, Update e Delete (CRUD).

A página começou a ser construída na aula 7. Comece então com a aula 7 e depois continue aqui.

Siga as legendas e use pause para não se perder. Os vídeos estão com uma música maneira de fundo. Se estiver em um ambiente onde música não rola, desligue o som antes de entrar.

Consultas utilizadas nos vídeos:

UPDATE CLIENTES SET NOME=?, ENDERECO=?, TELEFONE=?, INFORMACOES=? WHERE ID=?

DELETE FROM CLIENTES WHERE ID=?

INSERT INTO CLIENTES (NOME, ENDERECO, TELEFONE, INFORMACOES) VALUES (?,?,?,?)

Aula 8 parte 1

http://br.youtube.com/watch?v=g28vnFWNG2k

Aula 8 parte 2

http://br.youtube.com/watch?v=n61vwsRgGfQ

Aula 8 parte 3

http://br.youtube.com/watch?v=81O1a-DqeSg

Próxima aula: Controle de acesso e login.

VirtualBox: WindowsXP e Ubuntu Juntos. Guia de Instalação

quinta-feira, 3 de julho de 2008

Vamos fazer uma máquina virtual Windows XP rodar em um sistema Ubuntu.

Não sabe o que é uma Máquina Virtual? Então veja a figura abaixo:

clique para ampliar

Trata-se de uma máquina comum rodando o sistema operacional Ubuntu 8.04. Porém em uma janela temos o Windows XP. Não é acesso remoto, é um sistema operacional completo rodando em uma simulação de computador. Este programa simulador engana o sistema operacional da máquina virtual fazendo ele acreditar que está rodando em um computador real.

O principal objetivo é permitir executar mais de um sistema operacional em uma mesma máquina (normalmente sistemas diferentes). Assim é possível rodar um programa somente para Windows em uma máquina virtual hospedado no Ubuntu.

Diferente do duplo boot, não é precisar reiniciar a máquina para usar outro sistema. Dá para usar os dois simultaneamente. Exatamente como vemos na imagem.

Outro uso de máquinas virtuais é a virtualização de servidores para facilitar a escalabilidade.

Eu Já tinha utilizado o VmWare para usar máquinas virtuais por muitos anos, porém tenho tido diversos problemas com ele, deste as últimas versões do Ubuntu. Os problemas eram de performance e atualizações que causavam uma dor de cabeça para reinstalar o vmWare.

Resolvi então testar o VirtualBox. E não me arrependi. Performance similar com mais facilidade para instalação. Mas principalmente por causa do recurso especial do final do artigo. Se é usuário do vmware, vai lá dar uma olhada antes de desistir deste artigo.

Instalando Virtual Box

Instalação do Virtual Box:

sudo apt-get install virtualbox-ose

Nada mais simples.

Criando a Máquina Virtual

Entre no Virtualbox (Aplicações/Ferramentas do Sistema/VirtualBox OSE)

(mais…)