Re: [Zope-pt] Calculando dias da semana

2005-12-08 Por tôpico Arnaldo Janz Júnior



Ôps! ...
Duas correções:
- Qdo disse q vc não precisaria calcular o dia da semana, o que te traz
o dia da semana é %A (completo) ou %a (resumido). Ou seja, no exemplo
que dei, objData.strftime('%A').
- A outra é sobre o lance que falei logo em seguida, de somar um número a ele:
1º) O termo ELE (...somar um númro a ele...) se refere ao objeto do
tipo data (ou seja, se somar 1, 2 ou 1000 ele acresenta esse valor em
dias à data armazenada no objeto);
2º) O q disse está certo mas fora de lugar. Não tem a ver com o lance
do dia da semana ... Nada a ver ... Mas se, por exemplo, somar 1000 ao
objeto, ou somar 1 ou 2 e ele armazenar o último dia do mês, vai obter
uma data inválida. Daí, a solução é usar o que disse respondendo o item
seguinte a esse(do dia da semana).
[ ],-- 
JJ (|´:¬{)»
-
Eu
sou a ressurreição e a vida. Quem crê em mim, ainda que morra, viverá;
e todo o que vive e crê em mim não morrerá, eternamente. Crês isto?
O Senhor, Jesus Cristo - Jo.11:25-26
-
Em 07/12/05, JJ (Arnaldo Janz Júnior) [EMAIL PROTECTED] escreveu:
Vamos lá ...Em 07/12/05, Rodrigo Braga 
[EMAIL PROTECTED] escreveu:




Pessoal

Estou em um pequeno projeto (acadêmico) de
desenvolvimento de um sistema para bibliotecas, onde
um módulo será responsável por empréstimo
reserva/empréstimo/devolução das obras.

Estou com algumas dúvidas em relação a datas, vamos a
elas:

# Como configurar o Zope para GMT-3?!
Vc deve configurar isso no SO da máquina que está rodando zope, já que
a data/hora do servidor retornada pelo zope é a data/hora configurada
nesse SO.
Vc pode exibir data(s) em outros timezones (que tb pode ser a data/hora
do servidor - ZopeTime) usando o método toZone(), de DateTime [1]. Daí,
vc poderia SIMULAR o zope em GMT-3 usando esse método a cada exibição
de data. Mas acho melhor a mudança no servidor.

# Como alterar a data do sistema no Zope? (para que
eu possa realizar testes e etc. dos cálculo das datas)
Idem acima, exceto que p/ SIMULAR isso vc teria que ficar calculando as
datas e tvz não seja uma boa idéia p/ esse caso, já que vc parece
querer ficar mudando em seus testes.
# como calcular dias da semana?!
Vc talvez nem precise! Se vc tiver a data como um objeto DateTime, por
exemplo, um chamado objData, basta usar objData.strftime(%B).
Contudo, qdo vc somar um número a ele (por exemplo, se somar 1 ou 2,
ele acrescenta 1 ou 2 dias), vc pode obter uma data inválida. O
Zope Book[2], no apêndice B [3] (referência da API), sobre o
módulo DateTime [1], tem uma lista dos métodos de DateTime, e isso vai
te ajudar um bocado.

Neste último o problema é o seguinte:

Quando o usuário reserva a obra, ele tem até três dias
para retira-la, e ele escolhe esse dia em um combo,
cuja os dias da semana são calculados da seguinte
forma:

dias_semana = ['seg','ter','qua', 'qui', 'sex', 'seg',
'ter']

DiaAtualSistama + 2

e caso seja sáb/dom começa do inicio da lista (seg)

Claro que feriados e etc. seria um problema, mas isto
não será tratado por hora!

e baseado na data de retirada, é somado mais 2 para a
entrega.

O cálculo tá saindo meio esquesito não sei se por
causa da data do sistema e em algum lugar eu passo com
uma formatção e no outro exibo outra coisa ... enfim
... alguma idéia?!
Além dos métodos de DateTime, tem o script getNextMonth (em /[site]/portal_skins/plone_scripts).
Tenho um uso dele na linha do que vc quer aqui (melhor jogar num Kate/Kedit,GEdit ou Bloco de Notas p/ ver melhor):

tal:define=fimMes python:context.getNextMonth(context.ZopeTime().month(),context.ZopeTime().year())-1;

fimMes
python:DateTime(fimMes.year(),fimMes.month(),fimMes.day(),23,59,59);
 hoje
python:DateTime(context.ZopeTime().year(),context.ZopeTime().month(),context.ZopeTime().day(),23,59,59);

hojeMaisUmDia
python:test(hoje==fimMes,context.getNextMonth(context.ZopeTime().month(),context.ZopeTime().year()),context.ZopeTime()+1);

Valeu pessoal
Falowz!

[1] http://www.plope.com/Books/2_7Edition/AppendixB.stx#0-3
[2] http://www.plope.com/Books/2_7Edition/
[3] http://www.plope.com/Books/2_7Edition/AppendixB.stx
-- 
JJ (|´:¬{)»
-
Eu
sou a ressurreição e a vida. Quem crê em mim, ainda que morra, viverá;
e todo o que vive e crê em mim não morrerá, eternamente. Crês isto?
O Senhor, Jesus Cristo - Jo.11:25-26
-









Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]





  




  
Yahoo! Grupos, um serviço oferecido por:
  
  
PUBLICIDADE
  
  



  




  
Links do Yahoo! Grupos

Para visitar o site do seu grupo na web, acesse:http://br.groups.yahoo.com/group/zope-pt/
Para sair deste grupo, envie um e-mail para:[EMAIL PROTECTED]
O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!.









Re: [Zope-pt] Calculando dias da semana

2005-12-07 Por tôpico gerson
Rodrigo 

De uma olhada no modulo calendar também
http://docs.python.org/lib/module-calendar.html 

[]s
Gerson Sakurai 

JJ (Arnaldo Janz J�nior) writes: 

 Vamos lá ... 
 
 Em 07/12/05, Rodrigo Braga [EMAIL PROTECTED] escreveu:

  Pessoal 

 Estou em um pequeno projeto (acadêmico) de
 desenvolvimento de um sistema para bibliotecas, onde
 um módulo será responsável por empréstimo
 reserva/empréstimo/devolução das obras. 

 Estou com algumas dúvidas em relação a datas, vamos a
 elas: 

 # Como configurar o Zope para GMT-3?!
  
 
 Vc deve configurar isso no SO da máquina que está rodando zope, já que a
 data/hora do servidor retornada pelo zope é a data/hora configurada nesse
 SO.
 Vc pode exibir data(s) em outros timezones (que tb pode ser a data/hora do
 servidor - ZopeTime) usando o método toZone(), de DateTime [1]. Daí, vc
 poderia SIMULAR o zope em GMT-3 usando esse método a cada exibição de data.
 Mas acho melhor a mudança no servidor. 
 
 # Como alterar a data do sistema no Zope? (para que
 eu possa realizar testes e etc. dos cálculo das datas)
  
 
 Idem acima, exceto que p/ SIMULAR isso vc teria que ficar calculando as
 datas e tvz não seja uma boa idéia p/ esse caso, já que vc parece querer
 ficar mudando em seus testes. 
 
 # como calcular dias da semana?! 
 
 
 Vc talvez nem precise! Se vc tiver a data como um objeto DateTime, por
 exemplo, um chamado objData, basta usar objData.strftime(%B).
 Contudo, qdo vc somar um número a ele (por exemplo, se somar 1 ou 2, ele
 acrescenta  1 ou 2 dias), vc pode obter uma data inválida. O Zope Book[2],
 no apêndice B [3] (referência da  API), sobre o módulo DateTime [1], tem uma
 lista dos métodos de DateTime, e isso vai te ajudar um bocado. 
 
 Neste último o problema é o seguinte:

 Quando o usuário reserva a obra, ele tem até três dias
 para retira-la, e ele escolhe esse dia em um combo,
 cuja os dias da semana são calculados da seguinte
 forma: 

 dias_semana = ['seg','ter','qua', 'qui', 'sex', 'seg',
 'ter'] 

 DiaAtualSistama + 2 

 e caso seja sáb/dom começa do inicio da lista (seg) 

 Claro que feriados e etc. seria um problema, mas isto
 não será tratado por hora! 

 e baseado na data de retirada, é somado mais 2 para a
 entrega. 

 O cálculo tá saindo meio esquesito não sei se por
 causa da data do sistema e em algum lugar eu passo com
 uma formatção e no outro exibo outra coisa ... enfim
 ... alguma idéia?!
  
 
 Além dos métodos de DateTime, tem o script getNextMonth (em
 /[site]/portal_skins/plone_scripts).
 Tenho um uso dele na linha do que vc quer aqui (melhor jogar num
 Kate/Kedit,GEdit ou Bloco de Notas p/ ver melhor): 
 
 tal:define=fimMes python:context.getNextMonth(context.ZopeTime().month(),
 context.ZopeTime().year())-1;
 fimMes python:DateTime(fimMes.year(),fimMes.month(),fimMes.day
 (),23,59,59);
 hoje python:DateTime(context.ZopeTime().year(),context.ZopeTime
 ().month(),context.ZopeTime().day(),23,59,59);
 hojeMaisUmDia python:test(hoje==fimMes,context.getNextMonth(
 context.ZopeTime().month(),context.ZopeTime().year()),context.ZopeTime
 ()+1); 
 
 Valeu pessoal 
 
 
 Falowz! 
 
 [1] http://www.plope.com/Books/2_7Edition/AppendixB.stx#0-3
 [2] http://www.plope.com/Books/2_7Edition/
 [3] http://www.plope.com/Books/2_7Edition/AppendixB.stx 
 
 --
 JJ (|´:¬{)»
 -
 Eu sou a ressurreição e a vida. Quem crê em mim, ainda que morra, viverá; e
 todo o que vive e crê em mim não morrerá, eternamente. Crês isto?
 O Senhor, Jesus Cristo - Jo.11:25-26
 -


Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/zope-pt/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html