by Luiz Paulo
| dezembro 25, 2008
| 1 Comment »
Como prometi anteriormente, vou criar um post com as soluções sobre como pegar o último dia dos mês. Todas as soluções postadas aqui, foram comentadas no post: Javascript - Último dia do mês onde falei sobre esse assunto.
Bem, não tive como testar todos, até por que tem linguagem aí embaixo que nunca utilizei 
Se tiver algum erro, fiquem a vontade para comentar que eu acerto, blz?
Segue as soluções e seus respectivos criadores / postadores.
Último dia do mês em PHP:
Comment: Luiz Paulo
<?php
$year = 2008;
$month = 2;
echo date("t", mktime(0, 0, 0, $month, 1, $year));
?>
Último dia do mês em JAVA:
Comment: Felipe Zappala
System.out.println(new SimpleDateFormat("dd").format(new Date(2008,2,0)));
System.out.println(new GregorianCalendar(2008,2,0).get(Calendar.DAY_OF_MONTH));
Último dia do mês em Python:
Comment: Rodrigo Cacilhas
last_day = calendar.monthrange(year, month)[1]
Último dia do mês em Lua:
Comment: Rodrigo Cacilhas
function lastday(year, month)
return 0 + os.date(
"%d",
os.time {
year = year
month = month + 1
day = 0
}
)
end
Último dia do mês em Objective-C (do Mac OS X):
Comment: Rodrigo Cacilhas
int lastday(int year, int month) {
id date = [NSDate
dateWithString: [NSString
stringWithFormat: @"%d-%d-01 00:00:00 +000", year, month
]
];
[date addTimeInterval: -86400.];
id day = [date
descriptionWithCalendarFormat: @"%d"
timeZone: [NSTimeZone defaultTimeZone]
locale: nil
];
return [day intValue];
}
Último dia do mês em Rails:
Comment: Valdinei dos Santos
d = Date.new(2008,11)
d.end_of_month
=> Sun, 30 Nov 2008
Último dia do mês em Smalltalk:
Comment: Rodrigo Cacilhas
lastDayOfMonth: m year: y
| aux |
m := m + 1.
(m = 13) ifTrue: [
m := 1.
y := y + 1.
].
aux := Date year: y month: m day: 1.
aux := aux addDays: -1.
↑ aux dayOfMonth
!
Último dia do mês em Common Lisp:
Comment: Rodrigo Cacilhas
(defun last-day-of-month (y m)
(setq m (+ m 1))
(when (= m 13)
(setq m 1)
(setq y (+ y 1)))
(multiple-value-bind
(*sec* *min* *hour* *day* *month* *year* *date-of-week* *dst-p* *tz*)
(decode-universal-time
(-
(encode-universal-time 0 0 0 1 m y)
86400))
*day*))
Último dia do mês em Fortran-90:
Comment: Guilherme Gualberto
program Hora_e_data
interger ,parameter:: n = 3
interger :: data(n),horaSys(n)
call idate(data)
! data(1)=dia, data(2)=mes data(3)=ano
call itime(horaSys)
! horaSys(1)=hora, horaSys(2)=minute,horaSys(3)=second
write(*,'('Date ', i2.2, '/', i2.2, '/', i4.4, '; time ',i2.2, ':', i2.2, ':', i2.2)')data(2), data(1), data(3), now
endprogram
Último dia do mês em C#:
Comment: Fabio Caldas
int year = 2008;
int month = 09;
int daysInMonth = DateTime.DaysInMonth(year,month);
Grande abraço aos amigos que postaram! Agradeço a todos... Tenho certeza que esses códigos ajudarão a muitas pessoas
Categorias: Linguagens, Tecnologia
Tags: , c, fortran, java, lisp, lua, objective-c, php, pyton, rails, ruby, smalltalk
by Luiz Paulo
| dezembro 20, 2008
| No Comments »
Favicons são pequenas imagens no formato .ico normalmente possuem o tamanho de 16x16. Essas imagens são utilizadas para facilitar a identificação de um site em abas ou favoritos. Muitos favicons são versões minimizadas de logotipos que fazem referência a marca / imagem da empresa.
Como comentei acima, os mais normal é salvar as imagens em formato .ico , mas alguns browsers também reconhecem o formato .gif.
Inserindo favicon no formato ICO
<html>
<head>
<title>Inserindo favicon no formato ICO</title>
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
</head>
<body>
...
</body>
</html>
Inserindo favicon no formato GIF.
* Esse formato não funciona no Internet Explorer.
<html>
<head>
<title>Inserindo favicon no formato GIF</title>
<link rel="shortcut icon" type="image/gif" href="favicon.gif" />
</head>
<body>
...
</body>
</html>
Acesse também: 21 melhores geradores de favicon da Internet, você encontrará vários geradores de icones web.
Categorias: Browser, CheatSheet, Desenvolvimento web, HTML
Tags: , Browser, example, favicon, gif, html, icon, tutorial
by Luiz Paulo
| dezembro 4, 2008
| 4 Comments »
Veja abaixo algumas soluções para retirar espaços do início e final de strings.
Exemplos simples
Exemplo curto (funções com expressão regular):
//trim completo
function trim(str) {
return str.replace(/^\s+|\s+$/g,"");
}
//left trim
function ltrim(str) {
return str.replace(/^\s+/,"");
}
//right trim
function rtrim(str) {
return str.replace(/\s+$/,"");
}
alert(trim(" TEXTO "));
Exemplo curto (métodos da string com expressão regular):
Essa solução é bem mais elegante!
//trim completo
String.prototype.trim = function () {
return this.replace(/^\s+|\s+$/g,"");
}
//left trim
String.prototype.ltrim = function () {
return this.replace(/^\s+/,"");
}
//right trim
String.prototype.rtrim = function () {
return this.replace(/\s+$/,"");
}
alert(" TEXTO ".trim());
Outras soluções
Exemplo longo
function trim (str)
{
var whitespace = ' \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000';
for (var i = 0; i < str.length; i++)
{
if (whitespace.indexOf(str.charAt(i)) == -1)
{
str = str.substring(i);
break;
}
}
for (i = str.length - 1; i >= 0; i--)
{
if (whitespace.indexOf(str.charAt(i)) == -1)
{
str = str.substring(0, i + 1);
break;
}
}
return whitespace.indexOf(str.charAt(0)) == -1 ? str : '';
}
Outro exemplo
function isWhitespace(charToCheck) {
var whitespaceChars = " \t\n\r\f";
return (whitespaceChars.indexOf(charToCheck) != -1);
}
//left trim
function ltrim(str) {
for(var k = 0; k < str.length && isWhitespace(str.charAt(k)); k++);
return str.substring(k, str.length);
}
//right trim
function rtrim(str) {
for(var j=str.length-1; j>=0 && isWhitespace(str.charAt(j)) ; j--) ;
return str.substring(0,j+1);
}
//trim completo
function trim(str) {
return ltrim(rtrim(str));
}
Caso queira se aprofundar no assunto, aconselho a leitura do artigo Faster JavaScript Trim que mostra vários testes de performance no IE e FF.
Façam bom proveito!
Categorias: Desenvolvimento web, JavaScript, Linguagens
Tags: , code, example, javascript, trim
by Luiz Paulo
| novembro 14, 2008
| 15 Comments »
Essa semana, eu precisei de uma solução em Javascript para encontrar o "último dia do mês" ou "quantidade de dias do mês" como preferir. Consultei o Google e encontrei algumas soluções, algumas delas mais simples e outras bem criativas.
Achei o assunto interessante e resolvi divulgar aqui para quem precisar utilizar.
Primeiro vou postar as soluções sérias para o pessoal que está pesquisando e precisa utilizar em seu código
Soluções simples
Exemplo longo (função):
function daysInMonth(month,year) {
var m = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
if (month != 2) return m[month - 1];
if (year % 4 != 0) return m[1];
if (year % 100 == 0 && year%400 != 0) return m[1];
return m[1] + 1;
}
Exemplo curto (função):
Aqui está a grande sacada do javaScript, que interpreta o 0(zero) como "o dia antes do dia primeiro" que obviamente é o último dia do mês anterior.
function daysInMonth(month,year) {
var dd = new Date(year, month, 0);
return dd.getDate();
}
Exemplo curto (inline):
var lastDay = (new Date(year, month, 0)).getDate();
Soluções criativas
Não se assustem, mas as soluções citadas abaixo funcionam!
Solução utilizando Switch:
function getLastDayOfMonth(month,year)
{
var day;
switch(month)
{
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10:
case 12:
day = 31;
break;
case 4 :
case 6 :
case 9 :
case 11:
day = 30;
break;
case 2 :
if( ( (year % 4 == 0) && ( year % 100 != 0) ) || (year % 400 == 0) )
day = 29;
else
day = 28;
break;
}
return day;
}
Essa é legal
function anoBissexto(anoCompleto)
{
if(!(anoCompleto%4) && (anoCompleto%100 || !(anoCompleto%400))) return true;
return false;
}
function diasNoMes(mes,ano)
{
var var_type=typeof mes;
if(var_type != "number" && var_type != "string") return false;
if(var_type == "number" && (mes > 11 || mes < 0) && !isInt(mes)) return false;
var eng_args_allowed = "january-february-march-april-may-june-july-august-september-october-november-december";
var bra_args_allowed = "janeiro-fevereiro-marçomarco-abril-maio-junho-julho-agosto-setembro-outubro-novembro-dezembro";
var vet_eng_args_allowed = eng_args_allowed.split("-");
var vet_bra_args_allowed = bra_args_allowed.split("-");
var datahj = new Date();
var anohj = datahj.getFullYear();
var dias = [31,anoBissexto(ano)?29:28,31,30,31,30,31,31,30,31,30,31];
if(var_type == "string")
{
indice_eng = keyPosMatch(vet_eng_args_allowed,mes);
indice_bra = keyPosMatch(vet_bra_args_allowed,mes);
if(indice_eng>=0) return dias[indice_eng];
if(indice_bra>=0) return dias[indice_bra];
return false;
}
else return dias[mes];
}
Façam bom proveito!
Categorias: Desenvolvimento web, JavaScript, Linguagens
Tags: , calendar, code, date, example, javascript
by Luiz Paulo
| outubro 9, 2008
| 4 Comments »

Um recurso muito útil para quem precisa traduzir textos constantemente é a tradução de textos diretamente no Google Talk.
Já utilizo esse software há algum tempo como alternativa ao MSN além de muito (muito, muito...) mais leve e estável, as mensagens chegam quase que instantâneas, enquanto o MSN, dependendo do dia, você pode mandar uma mensagem e demorar horas. O serviço de voz também é muito bom.
Para utilizar esse recurso, basta adicionar um contato a seu Google Talk, e enviar as mensagens (Simples assim! )
Por exemplo, para traduzir de inglês para português:
Adicione como contato: en2pt@bot.talk.google.com
Envie mensagens em inglês e ele te responderá a tradução em português.
Legal, não!?
Testei esse recurso em en2pt e pt2en e funcionou perfeitamente. Não pesquisei se traduz de qualquer linguagem para qualquer linguagem, mas fica a dica!
Categorias: Artigo, Ferramentas, Java, Linguagens
Tags: , google, ingles, portugues, talk, tradutor
Próximos posts »