PHP é à quinta-feira – Trabalhar com Datas

PHP é à quinta-feira – Trabalhar com Datas

Criado por Pedro Pinto em 19 de Maio de 2011 | 11 comentários

Por Pedro Peixoto para o PPLWARE
É impensável viver num mundo em que não existissem datas, em que não tivéssemos um calendário como forma de organização diária, de facto, as datas estão presentes em quase tudo, e como tal é muito comum necessitarmos de as usar nas nossas aplicações PHP.

Sendo conhecido pela sua simplicidade e flexibilidade, o PHP torna muito fácil trabalhar com datas, bastando duas ou três funções para fazer preencher a maioria das necessidades dos programadores.

Esta semana vamos aprender algumas das funções mais simples e importantes para a manipulação de datas em PHP.

php1

Existe uma quantidade enorme de funções para o tratamento de datas em PHP, aqui, vamos aprender apenas as mais simples e importantes. Mais uma vez, o objectivo do artigo é introduzir o leitor num determinado tema PHP, para que depois ele próprio possa explorar e aprofundar os seus conhecimentos sobre esse mesmo tema.

Antes de começar, vamos apenas entender a diferença entre um formato de data legível pelos humanos e ounix timestamp. Convencionámos ao longo dos anos que determinados formatos de representação sugerem um determinado instante ou um dia, um mês, um ano. No entanto, esses formatos são de difícil tratamento, uma vez que obedece a uma estrutura complexa com meses com diferente número de dias, anos com mais ou menos um dia, etc…

Surgiu, assim a necessidade de simplificar a representação de datas, para podermos tratá-las informaticamente. O mais famoso é o Unix timestamp, vulgarmente chamado apenas timestamp, e é também muito fácil de entender, no fundo é um número com a contagem dos segundos desde o dia 1 de Janeiro de 1970 às 00:00:00 sendo este o timestamp 0. Assim se subtrairmos o timestamp de ontem ao 12:00:00 ao de hoje ao 12:00:00, iremos obter o número de segundos que passaram entre os dois instantes, neste caso 86400 (1 dia). Torna-se assim simples a manipulação e o tratamento de datas. De seguida vamos conhecer algumas funções que tornam possível estas manipulações:

Time

Talvez a função mais simples seja a função “time”, esta função não recebe parâmetros pois retorna apenas o timestamp, mas é sem dúvida muito útil, seja em conjunto com outras funções ou mesmo em casos onde necessitamos apenas do timestamp.

echo time(); //mostra o timestamp actual, ou seja os segundos que passaram até agora desde 1 de Janeiro de 1970
Strtotime

Esta função permite a conversão de inúmeros formatos de data em timestamp, assim, sempre que temos que tratar uma data (formato humano), esta função é uma grande ajuda. É uma função bastante versátil porque interpreta uma grande diversidade de formatos de data, o que a torna uma das minhas favoritas.

echo strtotime(“now”); //devolve o timestamp actual, equivalente a time();
echo strtotime(“2011-02-12 07:00:03″); //converte a data no seu timetamp, ou seja, nos segundos que passaram desde 1 de Janeiro de 1970 até ela.

Pode inclusive ser usada para pequenos cálculos:

echo strtotime("+1 day"); //devolve o timestamp de amanhã
echo strtotime("+1 week"); //devolve o timestamp da próxima semana
echo strtotime("next Thursday"); // devolve o timestamp da próxima quinta
echo strtotime("last Monday"); // devolve o timestamp da última segunda

Todos os cálculos são feitos relativamente à data actual, por isso quando pedimos “strtotime(“+1 day”);”, é-nos devolvida a data de amanhã. Contudo, esta função permite ainda que lhe seja passado um segundo parâmetro (timestamp) que serve como referência de partida para os cálculos, assim, por exemplo, para o dia 2011/05/12, vamos calcular o seu timestamp:

$timestp=strtotime(“2011/05/12”);

Agora já colocar este timestamp como referência de cálculo:

echo strtotime("+1 day" , $timestp); //devolve o timestamp de 2011/05/13
echo strtotime("+1 week" , $timestp); //devolve o timestamp da semana seguinte a 2011/05/12
echo strtotime("next Thursday" , $timestp); // devolve o timestamp quinta-feira seguinte ao 2011/05/12   echo strtotime("last Monday" , $timestp); // devolve o timestamp segunda-feira anterior a 2011/05/12

Podemos assim usar uma cadeia de “strtotime” de forma a realizar qualquer cálculo necessário. Esta é sem dúvida uma função poderosa.

Date

A função “date” é, em conceito, uma função de formatação de data, mas na prática é muito mais que isso, e em conjunto com as anteriores, torna todas as operações possíveis. Esta função é o contrário da “strtotime” já que permite converter um timestamp em data compreensível pelos humanos, assim:

echo date("Y-m-d H:i:s",strtotime("+1 day”) ); //Devolve a data de amanhã

O primeiro parâmetro indica o formato, enquanto que o segundo é o timestamp a converter. Existem inúmeros formatos que podem ser usados e que estão disponíveis na página da função. Se não for passado o segundo parâmetro, a função toma como referência o momento actual, vejamos:

echo date("l"); // “l” devolve o dia da semana->”Thursday”
echo date("d (l)"); // “d” devolve o dia, “l” devolve o dia da semana, ficaria “19 (Thursday)”
echo date("M y"); // “M” devolve a abreviatura do mês, “y” devolve o ano com dois dígitos, ficaria “May 11”
echo date("l \\t\h\e jS"); //o caracter “\” permite escrever texto pelo meio do formato, “j” devolve o dia do mês sem zeros, e o S devolve o sufixo ordinal (st, nd, rd or th), ficaria “Thursday the 3rd”.

Podemos facilmente fazer o echo de um rodapé de copyright recorrendo a esta função:

echo ’copyright ©’ . date("Y"); //copyright ©2011
Conclusão

Estas 2 últimas funções possibilitam praticamente todas as operações de datas que sejam necessárias em PHP, depois de um estudo aprofundado de cada uma delas e com um pouco de raciocínio é possível fazer cálculos impressionantes. No entanto existem muitas outras que também merecem atenção. Deixamos referenciadas a date_diff, date_add, mktime, microtime, entre outras também muito importantes.

Sem dúvida que este é um tema bastante abrangente mas as portas estão abertas…

15 dicas para usar o Dropbox de forma diferente

15 dicas para usar o Dropbox de forma diferente

Criado por Pedro Pinto em 20 de Maio de 2011 | 4 comentários

Apesar das últimas notícias relativamente ao Dropbox (ver aqui), a verdade é que este é um excelente serviço e de muita utilidade. Basicamente, através do dropbox podemos ter ficheiros sincronizados entre computadores e outros equipamentos (ex. smartphones) recorrendo à “cloud”. O serviço disponibiliza 2GB gratuitos (veja como ganhar mais aqui), que podemos usar livremente inclusive para fazermos backup da informação mais sensível que temos no PC.

Hoje deixamos 15 dicas/serviços para tirarem o melhor partido do Dropbox.

dropbox_000

Download de torrents remotamente via Dropbox

Para fazer downloads de torrents usando o dropbox, basta indicar à aplicação responsável por fazer o download, onde se encontra o ficheiro torrent (ler mais).

db_00

Imprima pelo Dropbox!!!

Vamos imprimir de qualquer parte do mundo para um qualquer computador?Interessante este conceito verdade? O processo é simples bastando para isso executar um script. Este script irá criar uma “impressora virtual” que apontará para o spool da impressora predefinida no Windows (ler mais)

db_01
MailDrop – Automatize o Dropbox

De modo simplificado, o MailDrop é uma ferramenta que periodicamente vai à caixa de correio electrónico que definirem e procura por mensagens com anexos e que estejam dentro de uma determinada pasta (ou etiqueta, no caso do Gmail). Caso encontre anexos, eles são copiados para a vossa pasta local de Dropbox e posteriormente sincronizados com os restantes PC’s onde tenham o Dropbox instalado (ler mais).

db_03

Dropbox Folder Sync – Sincronize pastas com o Dropbox

O Dropbox Folder Sync cria directórios “fantasma” ou symlinks (links simbólicos) que apontam para os originais, que foram de facto movidos para a pasta do Dropbox. Esses links simbólicos são “vistos” pelo sistema operativo como pastas efectivas, o que não comprometerá alguma ponto de “depósito” de ficheiros de qualquer aplicação (ler mais).

db_15

Send to Dropbox – Os seus anexos do mail para o Dropbox

Send to Dropbox é um fantástico serviço que vai à conta de email, separa o anexo do restante e envia para a nossa conta do Dropbox, para a pasta Attachments, os anexos dos mails bem como o mail em formato TXT ou HTML (ler mais)

dropspace_02

AirDropper – Usar o serviço Dropbox sem conta de acesso

O serviço AirDropper permite aos utilizadores do Dropbox, obter facilmente ficheiros de utilizadores que não possuem conta no Dropbox. Basicamente o utilizador que não possui conta no Dropbox recebe um  link que permite aceder a uma página para fazer upload da informação para o utilizador com conta dropbox (ler mais).

db_04

Dropbox Screen Grabber – É tão fácil partilhar screenshots!!!

Esta pequena pérola, principalmente para bloggers, faz capturas de ecrã, através de combinações de teclas e coloca esses screens na pasta Public do Dropbox. Essa função permite de imediato ter um link para partilhar com o mundo, esse screen (ler mais).

db_05

SecretSync – Camada de protecção para o Dropbox

O SecretSync é uma aplicação que permite cifrar a informação do lado do utilizador e assim sincronizar entre várias máquinas através de serviços como o fantástico Dropbox.

O SecretSync criar um directório “especial”, separado do Dropbox, onde mantém a informação sensível. Depois de instalarmos o SecretSync passamos a ter dois directórios: o SecretSync e o Dropbox (ler mais).

db_06

DropboxPortableAHK – O Dropbox na Pen, no PC…

O DropboxPortableAHK é uma versão portable do popular dropbox. O DropboxPortableAHK foi desenvolvido noAutoHotkey (daí o AHK), uma ferramenta simples e fantástica para criação de atalhos(teclado, rato, joystick, eyc) e comandos para o Windows (ler mais)

db_07

Dropbox- Elimine ficheiros de forma definitiva

Por forma a poderem estar mais “protegidos” e com a certeza de que não têm qualquer ficheiro de que já não precisam esquecido nos serviços do Dropbox, vamos mostrar a forma simples de os eliminarem de forma definitiva (ler mais).

db_08

Dica – Desligue remotamente o PC através do Dropbox

Imagine que saiu de casa, e a caminho do trabalho lembrou-se que se esqueceu do PC ligado. As soluções para resolver o problemas podem ser várias: dá meia volta e vai a casa desligar o PC, pede a alguém que desligue o computador ou no caso de não querer incomodar ninguém pode fazê-lo remotamente. Aprenda como desligar remotamente o PC através do Dropbox (ler mais).

db_09

Dropboxifier – Mover pastas do Dropbox…

O Dropboxifier permite simplificar e agilizar o processo de adicionar pastas para o Dropbox, recorrendo à criação de links simbólicos. Imagine por exemplo que pretende ter o perfil do Firefox sincronizado por um conjunto de computadores.  Em vez de se configurar o firefox para colocar as informações do perfil numa determinadas pasta dentro do dropbox, através do Dropboxifier podemos criar facilmente um link e manter assim na estrutura sem ter de andar a mover pastas (ler mais).

db_10

DropTunes – O Player do Dropbox

Este serviço aumenta as funcionalidades e aumenta o suporte aos formatos de reprodução. As credenciais necessárias são as mesmas da sua conta do Dropbox e a seguir terá total acesso às pastas da sua conta.. procure a pasta onde está a música (ler mais).

db_11

Dropbox Plugin for Windows – nunca foi tão fácil partilha

A partilha de conteúdos é actualmente dos actos mais vulgares de se fazerem pela internet, entre amigos ou familiares.

O Dropbox, como um dos mais populares serviços em cloud hosting, vai-se destacando e popularizando e os programadores investem em aplicações que podem facilitar o nosso dia-a-dia, automatizando os mais variados procedimentos.

Qual será o melhor e mais rápido método para partilha no Dropbox? Que tal usar apenas o menu de contexto de um ficheiro e clicar numa só opção? Óptimo! (ler mais).

db_12

DropPages – Criar um site no Dropbox de forma simples

O DropPages é um serviço que recorre ao Dropbox e que permite de forma muito simples produzir e alojar sites. Com este serviço o processo de criação de HTML deixa de ser necessário e os utilizadores apenas têm de criar ficheiros de texto, com recurso à sintaxe Markdown. Esta linguagem é parecida com a que é usada para criar páginas em Wikis e é extremamente simples de entender e de aplicar (ler mais).

db_14

Quais as dicas/serviços que usa?