Em 07/12/05, Rodrigo Braga <[EMAIL PROTECTED]> escreveu:
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.
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.
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.
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);"
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
---------------------------------------------
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: | |
|
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!.