Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mauricio lanner

Fuso pelo mundo

Recommended Posts

Ola galera, to criando um sistema de controle de serviços de uma empresa, e o dono me pediu que fizesse alguns widget, um com o tempo e o outro com fuco horario de algumas cidades onde a empresa tem filiais.

O problema é que não consigo achar uma forma te fazer isso funcionar, pela lógica do tentando assim

$fuso_brasilia = date_default_timezone_set("Brazil/East");//fuso brasilia
$brasilia = $fuso_brasilia('d-m-Y, H:i:s '); // data em brasilia
echo"$brasilia";

Mas essa lógina não funcionou muito bem da o seguinte erro:

SCREAM: Error suppression ignored for

( ! ) Fatal error: Function name must be a string in C:\wamp\www\layout_curri\admin\index.php on line 43

 

Alguem sabe como posso fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola galera, to criando um sistema de controle de serviços de uma empresa, e o dono me pediu que fizesse alguns widget, um com o tempo e o outro com fuco horario de algumas cidades onde a empresa tem filiais.

O problema é que não consigo achar uma forma te fazer isso funcionar, pela lógica do tentando assim

$fuso_brasilia = date_default_timezone_set("Brazil/East");//fuso brasilia
$brasilia = $fuso_brasilia('d-m-Y, H:i:s '); // data em brasilia
echo"$brasilia";

Mas essa lógina não funcionou muito bem da o seguinte erro:

SCREAM: Error suppression ignored for

( ! ) Fatal error: Function name must be a string in C:\wamp\www\layout_curri\admin\index.php on line 43

 

Alguem sabe como posso fazer isso?

 

tenta assim

 

date_default_timezone_set("Brazil/East");//fuso brasilia
$brasilia = $fuso_brasilia('d-m-Y, H:i:s '); // data em brasilia
echo"$brasilia";

 

o date_default_timezone_set roda direito ... você pode criar varioas arquivos com times zones diferentes e incluir de acordo nivel de login nao sei se teu sistema tem isso exemplo

 

funcionario X nome,email,senha,ESTADO .. ai tu identifica o estado e da um include com timezone de acordo ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Continua com erro

Notice: Undefined variable: fuso_brasilia in C:\wamp\www\layout_curri\admin\index.php on line 43 Call Stack # Time Memory Function Location 1 0.0021 701552 {main}( ) ..\index.php:0

 

( ! ) Fatal error: Function name must be a string in C:\wamp\www\layout_curri\admin\index.php on line 43 Call Stack # Time Memory Function Location 1 0.0021 701552 {main}( )

..\index.php:0

 

 

 

 

A ideia é fazer os horário em forma de Widget como na imagem

widtg.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Continua com erro

Notice: Undefined variable: fuso_brasilia in C:\wamp\www\layout_curri\admin\index.php on line 43 Call Stack # Time Memory Function Location 1 0.0021 701552 {main}( ) ..\index.php:0

 

( ! ) Fatal error: Function name must be a string in C:\wamp\www\layout_curri\admin\index.php on line 43 Call Stack # Time Memory Function Location 1 0.0021 701552 {main}( )

..\index.php:0

 

 

 

 

 

A ideia é fazer os horário em forma de Widget como na imagem

widtg.jpg

 

 

falha minha desculpe

date_default_timezone_set("America/Araguaina");//fuso brasilia
$brasilia = date('d-m-Y, H:i:s '); // data em brasilia
echo"$brasilia";

então como falei você pode usar em metodo de include seria praticamente a mesma coisa em casa include um time diferente ....

 

da uma olhada tbm nos tipos de timezone ...

http://www.php.net/manual/pt_BR/timezones.america.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvi da seguinte forma,

<? date_default_timezone_set("America/Chicago");
echo "<BR/>Hora atual: ", date("H:i:s"); ?>

Lista de fusos:

(1, 'Pacific/Kwajalein', '(GMT -12:00) Eniwetok, Kwajalein'),(2, 'Pacific/Samoa', '(GMT -11:00) Midway Island, Samoa'),(3, 'Pacific/Honolulu', '(GMT -10:00) Hawaii'),(4, 'America/Anchorage', '(GMT -9:00) Alaska'),(5, 'America/Los_Angeles', '(GMT -8:00) Pacific Time (US & Canada) Los Angeles, Seattle'),(6, 'America/Denver', '(GMT -7:00) Mountain Time (US & Canada) Denver'),(7, 'America/Chicago', '(GMT -6:00) Central Time (US & Canada), Chicago, Mexico City'),(8, 'America/New_York', '(GMT -5:00) Eastern Time (US & Canada), New York, Bogota, Lima'),(9, 'Atlantic/Bermuda', '(GMT -4:00) Atlantic Time (Canada), Caracas, La Paz'),(10, 'Canada/Newfoundland', '(GMT -3:30) Newfoundland'),(11, 'Brazil/East', '(GMT -3:00) Brazil, Buenos Aires, Georgetown'),(12, 'Atlantic/Azores', '(GMT -2:00) Mid-Atlantic'),(13, 'Atlantic/Cape_Verde', '(GMT -1:00 hour) Azores, Cape Verde Islands'),(14, 'Europe/London', '(GMT) Western Europe Time, London, Lisbon, Casablanca'),(15, 'Europe/Brussels', '(GMT +1:00 hour) Brussels, Copenhagen, Madrid, Paris'),(16, 'Europe/Helsinki', '(GMT +2:00) Kaliningrad, South Africa'),(17, 'Asia/Baghdad', '(GMT +3:00) Baghdad, Riyadh, Moscow, St. Petersburg'),(18, 'Asia/Tehran', '(GMT +3:30) Tehran'),(19, 'Asia/Baku', '(GMT +4:00) Abu Dhabi, Muscat, Baku, Tbilisi'),(20, 'Asia/Kabul', '(GMT +4:30) Kabul'),(21, 'Asia/Karachi', '(GMT +5:00) Ekaterinburg, Islamabad, Karachi, Tashkent'),(22, 'Asia/Calcutta', '(GMT +5:30) Bombay, Calcutta, Madras, New Delhi'),(23, 'Asia/Dhaka', '(GMT +6:00) Almaty, Dhaka, Colombo'),(24, 'Asia/Bangkok', '(GMT +7:00) Bangkok, Hanoi, Jakarta'),(25, 'Asia/Hong_Kong', '(GMT +8:00) Beijing, Perth, Singapore, Hong Kong'),(26, 'Asia/Tokyo', '(GMT +9:00) Tokyo, Seoul, Osaka, Sapporo, Yakutsk'),(27, 'Australia/Adelaide', '(GMT +9:30) Adelaide, Darwin'),(28, 'Pacific/Guam', '(GMT +10:00) Eastern Australia, Guam, Vladivostok'),(29, 'Asia/Magadan', '(GMT +11:00) Magadan, Solomon Islands, New Caledonia'),(30, 'Pacific/Fiji', '(GMT +12:00) Auckland, Wellington, Fiji, Kamchatka');

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quase isso, Keven. Pelo visto ele quer setar o timezone dinâmicamente e não apenas mostrar qual a data/hora atuais.

Primeiro de tudo vejamos o erro:

( ! ) Fatal error: Function name must be a string in C:\wamp\www\layout_curri\admin\index.php on line 43 Call Stack # Time Memory Function Location 1 0.0021 701552 {main}( )
..\index.php:0


O nome da função deve ser uma string...

Isso só pode significar que $fuso_brasilia não é uma string. Veja que date_default_timezone_set() ao ser usada, retorna uma valor booleano, TRUE se tudo der certo e FALSE se o timezone especificado for inválido.

E como nesse caso, felizmente, nenhum cast idiota está sendo desnecessária e automaticamente feito, um booleano não é uma string e, por isso, você não pode chamá-lo como uma função através de uma variável.

O que você procura fazer é algo como isso:

$timezones = array(
 
    'brasilia' => 'Brazil/East',
    'acre'     => 'Timezone/Non-ecziste', // LOL
    'default'  => 'America/Sao_Paulo'
);
 
$timezone = ( array_key_exists( $someVar, $timezones ) ?
                $timezones[ $someVar ] : $timezones['default'] )

date_default_timezone_set( $timezone );

Onde $someVar viria com um dos valores possíveis nos índices desse array. Ela não está sendo diretamente utilizada pois, caso o valor recebido não corresponda à nenhuma entrada, o timezone padrão seria utilizado.

[EDIT]

Párem de escrever criaturas :lol:

[EDIT 2]

Quanto a lista de timezones, é mais seguro usar DateTimeZone::listIdentifiers() do que uma lista manual

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.