lunes, 20 de marzo de 2017
Errores que puedes encontrar al migrar de WAMP 2.0 a 3.0
martes, 28 de junio de 2011
Copy directory folder PHP
Copy whole directory folder PHP
It is not exist any php function that allow make a copy of whole folder to another directory. The copy function not make it , only can a single file copy
below it show and explain some ways to do it.
function copyDirToDir($src,$dst){
$dir = opendir($src);
@mkdir($dst);
while(false !== ( $file = readdir($dir)) ) {
if (( $file != '.' ) && ( $file != '..' )) {
if ( is_dir($src . DIRECTORY_SEPARATOR . $file) ) {
copyDirToDir($src . DIRECTORY_SEPARATOR . $file,$dst . DIRECTORY_SEPARATOR . $file);
}
else {
copy($src . DIRECTORY_SEPARATOR . $file,$dst . DIRECTORY_SEPARATOR . $file);
}
}
}
closedir($dir);
}
In this case the function copyDirToDir, receive as parameter a source direction and a destiny direction where it makes the copy
Pre-condition: 1- Both directories are valid , destiny direction is not need exist beacuse it will be create but the tree route until penultimate folder must be valid.
2- Must exist permissions in both directories for make copy and create files.
It makes a recursive search of the folders and copy all files.
Copy using command (shell_exec)
$src = "moises/home/public_html/folder";
$destiny = "moises/home/public_html/destiny ";shell_exec("cp -r $src $destiny");
Copy files by patterns
If we wants make a copy of all files with extensions (.php) in a folder, we can make use of the function copyPatternToDir see the way below:
function copyPatternToDir($pattern, $dir)
{
foreach (glob($pattern) as $file) {
if(!is_dir($file) && is_readable($file)) {
$dest = realpath($dir) .DIRECTORY_SEPARATOR. basename($file);
copy($file, $dest);
}
}
}
Copiar directorio PHP completo
Copiar directorio – carpeta completa PHP
No existe ninguna función de PHP que permita hacer una copia de un directorio completo hacia otro directorio. La función: copy de PHP no hace copias de directorios sino de archivos.
A continuación se muestran y explican varias formas de hacerlo.
function copyDirToDir($src,$dst){
$dir = opendir($src);
@mkdir($dst);
while(false !== ( $file = readdir($dir)) ) {
if (( $file != '.' ) && ( $file != '..' )) {
if ( is_dir($src . DIRECTORY_SEPARATOR . $file) ) {
copyDirToDir($src . DIRECTORY_SEPARATOR . $file,$dst . DIRECTORY_SEPARATOR . $file);
}
else {
copy($src . DIRECTORY_SEPARATOR . $file,$dst . DIRECTORY_SEPARATOR . $file);
}
}
}
closedir($dir);
}
En este caso parte de una función que recibe como parámetros una dirección origen y una dirección destino donde se copiará el archivo.
Pre-condición: 1- Ambas directorios son válidos, la dirección destino no necesita existir, pues es creada; pero su ruta de árbol hasta la penúltima carpeta que es la que se crea, debe ser válida.
2- Existen permisos en ambos directorios tanto para copiar como para crear archivos.
Se hace una búsqueda recursiva de las carpetas y se copian los archivos.
Copiar usando Comandos Linux (shell_exec)
$src = "moises/home/public_html/carpeta";
$destino = "moises/home/public_html/destino ";shell_exec("cp -r $src $destino");
Copiar archivos según patrón (patterns)
Si quisiéramos copiar todos los archivos extensión (.php) que existen en una carpeta, podemos utilizar la función: copyPatternToDir de la siguiente manera:
function copyPatternToDir($pattern, $dir)
{
foreach (glob($pattern) as $file) {
if(!is_dir($file) && is_readable($file)) {
$dest = realpath($dir) .DIRECTORY_SEPARATOR. basename($file);
copy($file, $dest);
}
}
}
domingo, 19 de junio de 2011
Array en PHP (ARRAY PHP)
Array en PHP (ARRAY PHP)
En este artículo veremos el uso del array en php. Las principales funciones para el trabajo con array, entre otros aspectos.
Declaración de un array en PHP:
Para declarar un arreglo en PHP se utiliza la palabra reservada array, veamos el siguiente ejemplo donde se declara un array que totalmente vacío.
<?php
$nombre_array_php = array();
?>
Declaración de un array inicializado con nombres:
<?php
$nombres = array( "Pablo" , "Juan", "Pedro");
?>
Declaración de un array de distintos tipos:
Podemos tener en un array distintos tipos de datos en su contenido, en el siguiente ejemplo que representa el nombre de una persona, su edad y el nombre de sus hijos, vemos como el primer elemento es un texto (string) , el segundo es un entero (integer) y el tercero es otro arreglo (array)
<?php
$persona = array( "Pablo" , 30, array("Juan", "Pedro") );
?>
Adicionar elemento al array
A diferencia de otros lenguajes de programación, en PHP no es necesario tener en cuenta la capacidad del arreglo al inicio y/o al añadir elementos al mismo. Usted puede añadir tantos elementos desee, siempre y cuando la memoria se lo permita.
La forma de añadir un elemento al final del array es con los operadores de índices corchetes [] de la siguiente manera:
<?php
$nombres = array( "Pablo" , "Juan", "Pedro");
$nombres[] = "José"; // Añadir nombre José
$nombres[] = "María"; // Añadir nombre María
?>
Otra forma de hacerlo es a través de la función array_push() , esta función recibe como primer parámetro el arreglo que se desea añadir el o los elementos, y los siguientes parámetros son todos los elementos.
<?php
$nombres = array( "Pablo" , "Juan", "Pedro");
array_push($nombres, "José", "María");
?>
Array asociativos
Los array asociativos a diferencia de los anteriores , cada elemento tiene asociado un valor único que lo identifica.
Por ejemplo , si retomamos uno de los ejemplos anteriores donde queríamos almacenar de una persona el nombre, la edad y los nombres de los hijos, una forma muy sugerente de hacerlos colocando asociaciones:
<?php
$persona = array( "nombre"=> "Pablo" , "edad"=> 30, "hijos"=> array("Juan", "Pedro") );
?>
Las asociaciones se realizan de la siguiente forma: key=>valor , donde key es un valor único , seguido va el operador igual mayor (=>) indicando que a dicha asociación le corresponde el valor siguiente.
Acceder y modificar elementos en un array
Una buena pregunta en este punto es preguntarse como acceder a los elementos de un array. ¿De la forma clásica en otros lenguajes? Pues la respuesta es en gran medida: de la forma clásica a otros lenguajes de programación.
Para acceder a un elemento se utilizan los operadores corchetes, pasando entre el mismo el índice o la asociación de cada elemento. Para modificar este valor el proceso es el mismo pero se iguala a un nuevo valor o variable: $arra[key] = “nuevo valor”. Vea el ejemplo a continuación y los comentarios en cada caso:
<?php
$persona = array( "nombre"=> "Pablo" , "edad"=> 30, "hijos"=> array("Juan", "Pedro") );
$nom = $persona["nombre"]; // accede y almacena el nombre en la variable $nom
$persona["edad"] = 56; // modifica la edad por el valor: 56 ?>
Si tomamos como referencia el ejemplo anterior veremos que para acceder y el nombre colocando entre corchetes la asociación correspondiente: $persona["nombre"];
Índices automáticos en un array
Pero que sucede con los arreglos que no colocamos explícitamente asociaciones. ¿Cómo acceder a los valores?
En el siguiente ejemplo las asociaciones son tomadas automáticamente , comenzando por cero (0) e incrementándose de uno en uno.
<?php
$nombres = array( "Pablo" , "Juan" , "Pedro");
echo $nombres[0]; // imprime "Pablo"
echo $nombres[1]; // imprime " Juan"
echo $nombres[2]; // imprime " Pedro"?>
Pero qué pasaría si interrumpimos este proceso:
<?php
$nombres = array( "Pablo" , "Juan" , "Pedro", 6=>"José", "María");
?>
En este ejemplo sus índices y valores quedarían como se muestra en la siguiente tabla:
Índice | valor |
0 | "Pablo" |
1 | "Juan" |
2 | "Pedro" |
6 | "José" |
7 | " María" |
Los valores simplemente se incrementan teniendo en cuenta el mayor índice e incrementa en base a este, incluso si hacemos saltos de valores como el que se muestra a continuación:
<?php
$ejemplo = array("1", "2", "3", 6=>"4", "5", 4=>"6", "7");
?>
Como se ve se rompe con el incremento cuando se coloca como asociación el 6=>"4". Luego se vuelve a romper el incremento cuando se coloca: 4=>"6". Se podría pensar que el próximo índice podría ser el valor 5 , pues el 5 no está después del 4 , que fue la última asociación; pero no es así, si imprimimos este array los resultados son los siguientes:
Índice | valor |
0 | 1 |
1 | 2 |
2 | 3 |
6 | 4 |
7 | 5 |
8 | 7 |
¿Qué sucede si almacenamos dos veces con el mismo índice?
Si almacenamos 2 veces con el mismo índice como el ejemplo de abajo , se sobre-escribe el valor anterior al último , por lo que hay ser cuidadosos a menos que lo hagamos con toda intensión.
<?php
$ejemplo = array("1", "2", "3", 6=>"4", "5", 6=>"6", "7");
?>
Índice | valor |
0 | 1 |
1 | 2 |
2 | 3 |
6 | 6 |
7 | 5 |
Longitud de un arreglo (count)
La función para determinar la longitud de un arreglo es : count($array)
<?php
$nombres = array( "Pablo" , "Juan" , "Pedro");
echo count($nombres); // imprime 3
?>
Recorrer un arreglo a través de un for, foreach
Para recorrer los elementos de un arreglo , se pueden usar muchos mecanismos. Si el arreglo tiene índices automáticos, que no fueron interrumpidos, se puede usar un ciclo for, como se ve en el ejemplo siguiente:
<?php
$nombres = array( "Pablo" , "Juan" , "Pedro");
for ($i=0; $i< count($nombres); $i++ )
{
echo $nombres[$i];
}
?>
Para recorrer los elementos de un arreglo que no estamos seguros de que sus elementos sigan índices que comiencen por cero e incrementen de uno en uno, lo podemos hacer usando el ciclo foreach
<?php
$nombres = array( "Pablo" , "Juan" , "Pedro");
foreach ($array as $valor)
{
echo $valor;
}
?>
Sin duda este último ejemplo usando foreach es algo mucho más elegante, corto y menos propenso a errores.
Si además necesitamos los índices a medida que iteremos los elementos del array usamos el foreach de la siguiente forma:
<?php
$nombres = array( "Pablo" , "Juan" , "Pedro");
foreach ($array as $key => $valor)
{
echo $key. "=>" . $valor; // imprime {key}=>{valor}
}
?>
Redireccionar URL ,HTML, Javascript , PHP
Veamos cómo usar varios métodos para hacer redirección de una página web hacia otra.
Cómo hacerlo en HTML:
Lo que hace esta etiqueta es refrescar la página web (Refresh) , en 0 segundos , hacia la URL: http://moises-soft.net
Nota: Las etiquetas Meta deben ir dentro del encabezado de la web. Entre la etiquetas <head> </head>
Cómo hacerlo en PHP:
En PHP se puede enviar una cabecera de localización; pero se debe tener en cuenta que para que funcione no se debe haber enviado a imprimir ningún texto.header("Location: http://www.moises-soft.net");
Cómo hacerlo en Javascript:
En Javascript , es muy simple redireccionar , para ello se cambia la propiedad location de Window, con la URL absoluta hacia donde se desea redireccionar.window.location="http://www.moises-soft.net";
URL Redirect , HTML, Javascript ,PHP
How do it in HTML?
<meta http-equiv="Refresh" content="0;url=http://moises-soft.net" />
What makes this label is to refresh the web page (Refresh) in 0 seconds to the URL: http://moises-soft.net
Note: The labels Meta must go inside of web header. Between <head> </ head>
How do it in PHP?
In PHP you can send a header location; but keep in mind that work should not be sending any text to print before.
header("Location: http://moises-soft.net");
How do it in Javascript?
In Javascript , is very simple make a redirect, to that, you can change a location property of Window, to a absolute URL where you wish redirect.
window.location="http://www.moises-soft.net";
sábado, 11 de junio de 2011
Download URL with PHP Curl emulating firefox browser
Let's see how easy it can be using the function: file_get_contents
$content = file_get_contents(“http://www.moises-soft.net”);
However we must take in account that some servers prevents the use of download automatic tools.
The way to know if the server must answers or not a request:
- In the first place by the (IP) from where the request, but this article is not intended to teach as to circumvent a restriction on IP , only disclose that it is can a reason that you have not access to a recourse . For example , Cuba have not access to somes google services as Google ADsence.
- Second by the headers sending in the HTTP request. Normally each browser (IExplorer, Firefox, etc) sends data in their headers with useful information. A way to evader a programmer download by a software is to compare the headers to know if the request is make by a browser and therefore by a person.
How to send requests as firefox browser?
function getURL($url)
{
$curl = curl_init();
// headers send by firefox
$header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
$header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
$header[] = "Cache-Control: max-age=0";
$header[] = "Connection: keep-alive";
$header[] = "Keep-Alive: 300";
$header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
$header[] = "Accept-Language: en-us,en;q=0.5";
$header[] = "Pragma: ";
// browsers keep this blank.
$referers = array("google.com", "yahoo.com", "msn.com", "ask.com", "live.com");
$choice = array_rand($referers);
$referer = "http://" . $referers[$choice] . "";
$browsers = array("Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092510 Ubuntu/8.04 (hardy) Firefox/3.0.3", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20060918 Firefox/2.0", "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)");
$choice2 = array_rand($browsers);
$browser = $browsers[$choice2];
curl_setopt($curl, CURLOPT_USERAGENT, $browser);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_REFERER, $referer);
curl_setopt($curl, CURLOPT_AUTOREFERER, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_MAXREDIRS, 7);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
// ejecuta el comando
$data = curl_exec($curl);
if ($data === false) {
$data = curl_error($curl);
}
// cierra la conexión
curl_close($curl);
return $data;
}
Keyword : download, URL, PHP, browser, CURL, emulate, download url php, curl url
Descargar URL con PHP (curl) emulando navegador FIREFOX
Veamos que sencillo puede ser usando la función: file_get_contents
Tan simple como:
$contenido = file_get_contents(“http://www.moises-soft.net”);
Sin embargo hay que tener en cuenta que algunos servidores previenen el uso de herramientas que automáticamente descargan recursos, ya sea con buenas o malas intenciones.
Las formas que tienen de saber los servidores si responden o no a una petición:
En primer lugar por el IP de donde viene la solicitud, sin embargo este artículo no tiene como objetivo ensenar como burlar una restricción de IP , solo dar a conocer que este puede ser el motivo de que usted no tenga acceso algún recurso. Por ejemplo Cuba no tiene acceso a algunas páginas de Google como es Google ADsence.
En segundo lugar por las cabeceras enviadas en la petición HTTP. Normalmente cada navegador (IExplorer, Firefox, etc) envía datos en sus cabeceras con mucha información útil. Un forma de burlar una descaga programada por cualquier programa es comprara las cabeceras enviadas para saber si no es petición de un navegador y por consiguiente de una persona.
¿Cómo enviar peticiones como si provinieran de Firefox?
function getURL($url)
{
$curl = curl_init();
// cabeceras enviadas por firefox
$header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
$header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
$header[] = "Cache-Control: max-age=0";
$header[] = "Connection: keep-alive";
$header[] = "Keep-Alive: 300";
$header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
$header[] = "Accept-Language: en-us,en;q=0.5";
$header[] = "Pragma: ";
// browsers keep this blank.
$referers = array("google.com", "yahoo.com", "msn.com", "ask.com", "live.com");
$choice = array_rand($referers);
$referer = "http://" . $referers[$choice] . "";
$browsers = array("Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092510 Ubuntu/8.04 (hardy) Firefox/3.0.3", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20060918 Firefox/2.0", "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)");
$choice2 = array_rand($browsers);
$browser = $browsers[$choice2];
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERAGENT, $browser);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_REFERER, $referer);
curl_setopt($curl, CURLOPT_AUTOREFERER, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_MAXREDIRS, 7);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
// ejecuta el comando
$data = curl_exec($curl);
if ($data === false) {
$data = curl_error($curl);
}
// cierra la conexión
curl_close($curl);
return $data;
}
viernes, 13 de mayo de 2011
Cambiar zona horaria en PHP (date_default_timezone_set)
Algo importante que se debe hacer en un sitio web es permitir que los usuarios establezcan la zona horaria donde viven, de modo que la hora de todas las operaciones hechas dicho o usuario o por el sistema para servir a ese usuario usen la hora adecuada.
Recordemos que un sitio web puede ser visto en cualquier parte del mundo y la hora del servidor web no es la hora que tienen todos los usuarios en el mundo.
PHP permite establecer la zona horaria, a través de la función: date_default_timezone_set(“zona horaria”)
ejemplo: date_default_timezone_set("Africa/Addis_Ababa");
Los valores admisibles se pueden encontrar en cualquier manual de PHP:
Grupos de Africa:
Africa/Abidjan | Africa/Accra | Africa/Addis_Ababa | Africa/Algiers | Africa/Asmera |
Africa/Bamako | Africa/Bangui | Africa/Banjul | Africa/Bissau | Africa/Blantyre |
Africa/Brazzaville | Africa/Bujumbura | Africa/Cairo | Africa/Casablanca | Africa/Ceuta |
Africa/Conakry | Africa/Dakar | Africa/Dar_es_Salaam | Africa/Djibouti | Africa/Douala |
Africa/El_Aaiun | Africa/Freetown | Africa/Gaborone | Africa/Harare | Africa/Johannesburg |
Africa/Kampala | Africa/Khartoum | Africa/Kigali | Africa/Kinshasa | Africa/Lagos |
Africa/Libreville | Africa/Lome | Africa/Luanda | Africa/Lubumbashi | Africa/Lusaka |
Africa/Malabo | Africa/Maputo | Africa/Maseru | Africa/Mbabane | Africa/Mogadishu |
Africa/Monrovia | Africa/Nairobi | Africa/Ndjamena | Africa/Niamey | Africa/Nouakchott |
Africa/Ouagadougou | Africa/Porto-Novo | Africa/Sao_Tome | Africa/Timbuktu | Africa/Tripoli |
Grupos de América
America/Adak | America/Anchorage | America/Anguilla | America/Antigua | America/Araguaina |
America/Argentina/Buenos_Aires | America/Argentina/Catamarca | America/Argentina/ComodRivadavia | America/Argentina/Cordoba | America/Argentina/Jujuy |
America/Argentina/La_Rioja | America/Argentina/Mendoza | America/Argentina/Rio_Gallegos | America/Argentina/San_Juan | America/Argentina/Tucuman |
America/Argentina/Ushuaia | America/Aruba | America/Asuncion | America/Atikokan | America/Atka |
America/Bahia | America/Barbados | America/Belem | America/Belize | America/Blanc-Sablon |
America/Boa_Vista | America/Bogota | America/Boise | America/Buenos_Aires | America/Cambridge_Bay |
America/Campo_Grande | America/Cancun | America/Caracas | America/Catamarca | America/Cayenne |
America/Cayman | America/Chicago | America/Chihuahua | America/Coral_Harbour | America/Cordoba |
America/Costa_Rica | America/Cuiaba | America/Curacao | America/Danmarkshavn | America/Dawson |
America/Dawson_Creek | America/Denver | America/Detroit | America/Dominica | America/Edmonton |
America/Eirunepe | America/El_Salvador | America/Ensenada | America/Fort_Wayne | America/Fortaleza |
America/Glace_Bay | America/Godthab | America/Goose_Bay | America/Grand_Turk | America/Grenada |
America/Guadeloupe | America/Guatemala | America/Guayaquil | America/Guyana | America/Halifax |
America/Havana | America/Hermosillo | America/Indiana/Indianapolis | America/Indiana/Knox | America/Indiana/Marengo |
America/Indiana/Petersburg | America/Indiana/Vevay | America/Indiana/Vincennes | America/Indianapolis | America/Inuvik |
America/Iqaluit | America/Jamaica | America/Jujuy | America/Juneau | America/Kentucky/Louisville |
America/Kentucky/Monticello | America/Knox_IN | America/La_Paz | America/Lima | America/Los_Angeles |
America/Louisville | America/Maceio | America/Managua | America/Manaus | America/Martinique |
America/Mazatlan | America/Mendoza | America/Menominee | America/Merida | America/Mexico_City |
America/Miquelon | America/Moncton | America/Monterrey | America/Montevideo | America/Montreal |
America/Montserrat | America/Nassau | America/New_York | America/Nipigon | America/Nome |
America/Noronha | America/North_Dakota/Center | America/North_Dakota/New_Salem | America/Panama | America/Pangnirtung |
America/Paramaribo | America/Phoenix | America/Port-au-Prince | America/Port_of_Spain | America/Porto_Acre |
America/Porto_Velho | America/Puerto_Rico | America/Rainy_River | America/Rankin_Inlet | America/Recife |
America/Regina | America/Rio_Branco | America/Rosario | America/Santiago | America/Santo_Domingo |
America/Sao_Paulo | America/Scoresbysund | America/Shiprock | America/St_Johns | America/St_Kitts |
America/St_Lucia | America/St_Thomas | America/St_Vincent | America/Swift_Current | America/Tegucigalpa |
America/Thule | America/Thunder_Bay | America/Tijuana | America/Toronto | America/Tortola |
America/Vancouver | America/Virgin | America/Whitehorse | America/Winnipeg | America/Yakutat |
Grupos de La Antártida
| Antarctica/Casey | Antarctica/Davis | Antarctica/DumontDUrville | Antarctica/Mawson | Antarctica/McMurdo |
Antarctica/Palmer | Antarctica/Rothera | Antarctica/South_Pole | Antarctica/Syowa | Antarctica/Vostok |
Grupos del Ártico
Arctic/Longyearbyen
Grupos de Asia
| Asia/Aden | Asia/Almaty | Asia/Amman | Asia/Anadyr | Asia/Aqtau |
Asia/Aqtobe | Asia/Ashgabat | Asia/Ashkhabad | Asia/Baghdad | Asia/Bahrain |
Asia/Baku | Asia/Bangkok | Asia/Beirut | Asia/Bishkek | Asia/Brunei |
Asia/Calcutta | Asia/Choibalsan | Asia/Chongqing | Asia/Chungking | Asia/Colombo |
Asia/Dacca | Asia/Damascus | Asia/Dhaka | Asia/Dili | Asia/Dubai |
Asia/Dushanbe | Asia/Gaza | Asia/Harbin | Asia/Hong_Kong | Asia/Hovd |
Asia/Irkutsk | Asia/Istanbul | Asia/Jakarta | Asia/Jayapura | Asia/Jerusalem |
Asia/Kabul | Asia/Kamchatka | Asia/Karachi | Asia/Kashgar | Asia/Katmandu |
Asia/Krasnoyarsk | Asia/Kuala_Lumpur | Asia/Kuching | Asia/Kuwait | Asia/Macao |
Asia/Macau | Asia/Magadan | Asia/Makassar | Asia/Manila | Asia/Muscat |
Asia/Nicosia | Asia/Novosibirsk | Asia/Omsk | Asia/Oral | Asia/Phnom_Penh |
Asia/Pontianak | Asia/Pyongyang | Asia/Qatar | Asia/Qyzylorda | Asia/Rangoon |
Asia/Riyadh | Asia/Saigon | Asia/Sakhalin | Asia/Samarkand | Asia/Seoul |
Asia/Shanghai | Asia/Singapore | Asia/Taipei | Asia/Tashkent | Asia/Tbilisi |
Asia/Tehran | Asia/Tel_Aviv | Asia/Thimbu | Asia/Thimphu | Asia/Tokyo |
Asia/Ujung_Pandang | Asia/Ulaanbaatar | Asia/Ulan_Bator | Asia/Urumqi | Asia/Vientiane |
Asia/Vladivostok | Asia/Yakutsk | Asia/Yekaterinburg | Asia/Yerevan |
|
Grupos del Atlántico
| Atlantic/Azores | Atlantic/Bermuda | Atlantic/Canary | Atlantic/Cape_Verde | Atlantic/Faeroe |
Atlantic/Jan_Mayen | Atlantic/Madeira | Atlantic/Reykjavik | Atlantic/South_Georgia | Atlantic/St_Helena |
Atlantic/Stanley |
|
Grupos de Australia
| Australia/ACT | Australia/Adelaide | Australia/Brisbane | Australia/Broken_Hill | Australia/Canberra |
Australia/Currie | Australia/Darwin | Australia/Hobart | Australia/LHI | Australia/Lindeman |
Australia/Lord_Howe | Australia/Melbourne | Australia/North | Australia/NSW | Australia/Perth |
Australia/Queensland | Australia/South | Australia/Sydney | Australia/Tasmania | Australia/Victoria |
Australia/West | Australia/Yancowinna |
|
|
|
Grupos de Europa
| Europe/Amsterdam | Europe/Andorra | Europe/Athens | Europe/Belfast | Europe/Belgrade |
Europe/Berlin | Europe/Bratislava | Europe/Brussels | Europe/Bucharest | Europe/Budapest |
Europe/Chisinau | Europe/Copenhagen | Europe/Dublin | Europe/Gibraltar | Europe/Guernsey |
Europe/Helsinki | Europe/Isle_of_Man | Europe/Istanbul | Europe/Jersey | Europe/Kaliningrad |
Europe/Kiev | Europe/Lisbon | Europe/Ljubljana | Europe/London | Europe/Luxembourg |
Europe/Madrid | Europe/Malta | Europe/Mariehamn | Europe/Minsk | Europe/Monaco |
Europe/Moscow | Europe/Nicosia | Europe/Oslo | Europe/Paris | Europe/Prague |
Europe/Riga | Europe/Rome | Europe/Samara | Europe/San_Marino | Europe/Sarajevo |
Europe/Simferopol | Europe/Skopje | Europe/Sofia | Europe/Stockholm | Europe/Tallinn |
Europe/Tirane | Europe/Tiraspol | Europe/Uzhgorod | Europe/Vaduz | Europe/Vatican |
Europe/Vienna | Europe/Vilnius | Europe/Volgograd | Europe/Warsaw | Europe/Zagreb |
Europe/Zaporozhye | Europe/Zurich |
|
Grupos de India
| Indian/Antananarivo | Indian/Chagos | Indian/Christmas | Indian/Cocos | Indian/Comoro |
Indian/Kerguelen | Indian/Mahe | Indian/Maldives | Indian/Mauritius | Indian/Mayotte |
Indian/Reunion |
|
Grupos del Pacifico
| Pacific/Apia | Pacific/Auckland | Pacific/Chatham | Pacific/Easter | Pacific/Efate |
Pacific/Enderbury | Pacific/Fakaofo | Pacific/Fiji | Pacific/Funafuti | Pacific/Galapagos |
Pacific/Gambier | Pacific/Guadalcanal | Pacific/Guam | Pacific/Honolulu | Pacific/Johnston |
Pacific/Kiritimati | Pacific/Kosrae | Pacific/Kwajalein | Pacific/Majuro | Pacific/Marquesas |
Pacific/Midway | Pacific/Nauru | Pacific/Niue | Pacific/Norfolk | Pacific/Noumea |
Pacific/Pago_Pago | Pacific/Palau | Pacific/Pitcairn | Pacific/Ponape | Pacific/Port_Moresby |
Pacific/Rarotonga | Pacific/Saipan | Pacific/Samoa | Pacific/Tahiti | Pacific/Tarawa |
Pacific/Tongatapu | Pacific/Truk | Pacific/Wake | Pacific/Wallis | Pacific/Yap |
Otros grupos
| Brazil/Acre | Brazil/DeNoronha | Brazil/East | Brazil/West | Canada/Atlantic |
Canada/Central | Canada/East-Saskatchewan | Canada/Eastern | Canada/Mountain | Canada/Newfoundland |
Canada/Pacific | Canada/Saskatchewan | Canada/Yukon | CET | Chile/Continental |
Chile/EasterIsland | CST6CDT | Cuba | EET | Egypt |
Eire | EST | EST5EDT | Etc/GMT | Etc/GMT+0 |
Etc/GMT+1 | Etc/GMT+10 | Etc/GMT+11 | Etc/GMT+12 | Etc/GMT+2 |
Etc/GMT+3 | Etc/GMT+4 | Etc/GMT+5 | Etc/GMT+6 | Etc/GMT+7 |
Etc/GMT+8 | Etc/GMT+9 | Etc/GMT-0 | Etc/GMT-1 | Etc/GMT-10 |
Etc/GMT-11 | Etc/GMT-12 | Etc/GMT-13 | Etc/GMT-14 | Etc/GMT-2 |
Etc/GMT-3 | Etc/GMT-4 | Etc/GMT-5 | Etc/GMT-6 | Etc/GMT-7 |
Etc/GMT-8 | Etc/GMT-9 | Etc/GMT0 | Etc/Greenwich | Etc/UCT |
Etc/Universal | Etc/UTC | Etc/Zulu | Factory | GB |
GB-Eire | GMT | GMT+0 | GMT-0 | GMT0 |
Greenwich | Hongkong | HST | Iceland | Iran |
Israel | Jamaica | Japan | Kwajalein | Libya |
MET | Mexico/BajaNorte | Mexico/BajaSur | Mexico/General | MST |
MST7MDT | Navajo | NZ | NZ-CHAT | Poland |
Portugal | PRC | PST8PDT | ROC | ROK |
Singapore | Turkey | UCT | Universal | US/Alaska |
US/Aleutian | US/Arizona | US/Central | US/East-Indiana | US/Eastern |
US/Hawaii | US/Indiana-Starke | US/Michigan | US/Mountain | US/Pacific |
US/Pacific-New | US/Samoa | UTC | W-SU | WET |
Zulu |
|
|
|
|
Códicos internacionales de cada zona horaria
http://www.blogger.com/img/blank.gif| Código | Definición | GMT |
| ACDT | Australian Central Daylight Time | +10:30 |
| ACIT | Ashmore and Cartier Islands Time | +8:00 |
| ACST | Australian Central Standard Time | +9:30 |
| ACT | Acre Time | -5 |
| ACWST | Australian Central Western Standard Time | +8:45 |
| ADT | Arabia Daylight Time | +4 |
| ADT | Atlantic Daylight Time | -3 |
| AEDT | Australian Eastern Daylight Time | +11 |
| AEST | Australian Eastern Standard Time | +10 |
| AFT | Afghanistan Time | +4:30 |
| AKDT | Alaska Daylight Time | -8 |
| AKST | Alaska Standard Time | -9 |
| AMDT | Armenia Daylight Time | +5 |
| AMST | Armenia Standard Time | +4 |
| ANAST | Anadyr' Summer Time | +13 |
| ANAT | Anadyr' Time | +12 |
| APO | Apo Island Time | +8:15 |
| ARDT | Argentina Daylight Time | -2 |
| ART | Argentina Time | -3 |
| AST | Al Manamah Standard Time | +3 |
| AST | Arabia Standard Time | +3 |
| AST | Arabic Standard Time | +3 |
| AST | Atlantic Standard Time | -4 |
| AWST | Australian Western Standard Time | +8 |
| AZODT | Azores Daylight Time | 0 |
| AZOST | Azores Standard Time | -1 |
| AZST | Azerbaijan Summer Time | +5 |
| AZT | Azerbaijan Time | +4 |
| ||
| BIT | Baker Island Time | -12 |
| BDT | Bangladesh Standard Time | +7 |
| BEST | Brazil Eastern Standard Time | -2 |
| BDT | Brunei Time | +8 |
| BIOT | British Indian Ocean Time | +6 |
| BOT | Bolivia Time | -4 |
| BRST | Brazilia Summer Time | -2 |
| BRT | Brazilia Time | -3 |
| BST | British Summer Time | +1 |
| BTT | Bhutan Time | +6 |
| BWDT | Brazil Western Daylight Time | -3 |
| BWST | Brazil Western Standard Time | -4 |
| ||
| CAST | Chinese Antarctic Standard Time | +5 |
| CAT | Central Africa Time | +2 |
| CCT | Cocos Islands Time | +6:30 |
| CDT | Central Daylight Time | -5 |
| CEST | Central Europe Summer Time | +2 |
| CET | Central Europe Time | +1 |
| CGST | Central Greenland Summer Time | -2 |
| CGT | Central Greenland Time | -3 |
| CHADT | Chatham Island Daylight Time | +13:45 |
| CHAST | Chatham Island Standard Time | +12:45 |
| ChST | Chamorro Standard Time | +10 |
| CIST | Clipperton Island Standard Time | -8 |
| CKT | Cook Island Time | -10 |
| CLDT | Chile Daylight Time | -3 |
| CLST | Chile Standard Time | -4 |
| COT | Colombia Time | -5 |
| CST | Central Standard Time | -6 |
| CST | China Standard Time | +8 |
| CVT | Cape Verde Time | -1 |
| CXT | Christmas Island Time | +7 |
| ||
| DAVT | Davis Time | +5 |
| DTAT | District de Terre Adélie Time | +10 |
| ||
| EADT | Easter Island Daylight Time | -5 |
| EAST | Easter Island Standard Time | -6 |
| EAT | East Africa Time | +3 |
| ECT | Ecuador Time | -5 |
| EDT | Eastern Daylight Time | -4 |
| EEST | Eastern Europe Summer Time | +3 |
| EET | Eastern Europe Time | +2 |
| EGT | Eastern Greenland Time | -1 |
| EGST | Eastern Greenland Summer Time | 0 |
| EKST | East Kazakhstan Standard Time | +6 |
| EST | Eastern Standard Time | -5 |
| ||
| FJDT | Fiji Daylight Time | +13 |
| FJT | Fiji Time | +12 |
| FKDT | Falkland Island Daylight Time | -3 |
| FKST | Falkland Island Standard Time | -4 |
| ||
| GALT | Galapagos Time | -6 |
| GET | Georgia Standard Time | +4 |
| GFT | French Guiana Time | -3 |
| GILT | Gilbert Island Time | +12 |
| GIT | Gambier Island Time | -9 |
| GMT | Greenwich Meantime | 0 |
| GST | Gulf Standard Time | +4 |
| GST | South Georgia and the South Sandwich Islands | -2 |
| GYT | Guyana Time | -4 |
| ||
| HADT | Hawaii - Aleutian Daylight Time | -9 |
| HAST | Hawaii - Aleutian Standard Time | -10 |
| HKST | Hong Kong Standard Time | +8 |
| HMT | Heard and McDonald Islands Time | +5 |
| ||
| ICT | Îles Crozet Time | +4 |
| ICT | Indochina Time | +7 |
| IDT | Ireland Daylight Time | +1 |
| IDT | Israel Daylight Time | +3 |
| IRDT | Îran Daylight Time | +4:30 |
| IRKST | Irkutsk Summer Time | +9 |
| IRKT | Irkutsk Time | +8 |
| IRST | Îran Standard Time | +3:30 |
| IST | Indian Standard Time | +5:30 |
| IST | Ireland Standard Time | 0 |
| IST | Israel Standard Time | +2 |
| ||
| JFDT | Juan Fernandez Islands Daylight Time | -3 |
| JFST | Juan Fernandez Islands Standard Time | -4 |
| JST | Japan Standard Time | +9 |
| ||
| KGST | Kyrgyzstan Summer Time | +6 |
| KGT | Kyrgyzstan Time | +5 |
| KRAST | Krasnoyarsk Summer Time | +8 |
| KRAT | Krasnoyarsk Time | +7 |
| KOST | Kosrae Standard Time | +11 |
| KOVT | Khovd Time | +7 |
| KOVST | Khovd Summer Time | +8 |
| KST | Korea Standard Time | +9 |
| ||
| LHDT | Lord Howe Daylight Time | +11 |
| LHST | Lord Howe Standard Time | +10:30 |
| LINT | Line Island Time | +14 |
| LKT | Sri Lanka Time | +6 |
| MAGST | Magadan Island Summer Time | +12 |
| MAGT | Magadan Island Time | +11 |
| MAWT | Mawson Time | +5 |
| MBT | Macclesfield Bank Time | +8 |
| MDT | Mountain Daylight Time | -6 |
| MIT | Marquesas Islands Time | -9:30 |
| MHT | Marshall Islands Time | +12 |
| MMT | Myanmar Time | +6:30 |
| MNT | Mongolia Time | +8 |
| MNST | Mongolia Summer Time | +9 |
| MSD | Moscow Summer Time | +4 |
| MSK | Moscow Standard Time | +3 |
| MST | Mountain Standard Time | -7 |
| MUT | Mauritius Time | +4 |
| MVT | Maldives Time | +5 |
| MYT | Malaysia Time | +8 |
| ||
| NCT | New Caledonia Time | +11 |
| NDT | Newfoundland Daylight Time | -2:30 |
| NFT | Norfolk Time | +11:30 |
| NPT | Nepal Time | +5:45 |
| NRT | Nauru Time | +12 |
| NOVST | Novosibirsk Summer Time | +7 |
| NOVT | Novosibirsk Time | +6 |
| NST | Newfoundland Standard Time | -3:30 |
| NUT | Niue Time | -11 |
| NZDT | New Zealand Daylight Time | +13 |
| NZST | New Zealand Standard Time | +12 |
| ||
| OMSK | Omsk Summer Time | +7 |
| OMST | Omsk Standard Time | +6 |
| ||
| PDT | Pacific Daylight Time | -7 |
| PETST | Petropavlovsk Summer Time | +13 |
| PET | Peru Time | -5 |
| PETT | Petropavlovsk Time | +12 |
| PGT | Papua New Guinea Time | +10 |
| PHOT | Phoenix Island Time | +13 |
| PIT | Paracel Islands Time | +8 |
| PIT | Peter Island Time | -6 |
| PIT | Pratas Islands | +8 |
| PKT | Pakistan Time | +5 |
| PKST | Pakistan Summer Time | +6 |
| PMDT | Pierre & Miquelon Daylight Time | -2 |
| PMST | Pierre & Miquelon Standard Time | -3 |
| PONT | Pohnpei Standard Time | +11 |
| PST | Pacific Standard Time | -8 |
| PST | Philippine Standar Time | +8 |
| PST | Pitcairn Standard Time | -8 |
| PWT | Palau Time | +9 |
| PYST | Paraguay Summer Time | -3 |
| PYT | Paraguay Time | -4 |
| RET | Réunion Time | +4 |
| ROTT | Rothera Time | -3 |
| ||
| SAMST | Samara Summer Time | +5 |
| SAMT | Samara Time | +4 |
| SAST | South Africa Standard Time | +2 |
| SBT | Solomon Island Time | +11 |
| SCDT | Santa Claus Delivery Time | +13 |
| SCST | Santa Claus Standard Time | +12 |
| SCT | Seychelles Time | +4 |
| SGT | Singapore Time | +8 |
| SIT | Spratly Islands Time | +8 |
| SLT | San Luis Time | -4 |
| SLT | Sierra Leone Time | 0 |
| SLST | San Luis Summer Time | -3 |
| SRT | Suriname Time | -3 |
| SDT | Samoa Daylight Time | -10 |
| SST | Samoa Standard Time | -11 |
| SST | Scarborough Shoal Time | +8 |
| SYST | Syrian Summer Time | +3 |
| SYT | Syrian Standard Time | +2 |
| ||
| TAHT | Tahiti Time | -10 |
| TFT | French Southern and Antarctic Time | +5 |
| TJT | Tajikistan Time | +5 |
| TKT | Tokelau Time | -10 |
| TMT | Turkmenistan Time | +5 |
| TOT | Tonga Time | +13 |
| TPT | East Timor Time | +9 |
| TRUT | Truk Time | +10 |
| TVT | Tuvalu Time | +12 |
| TWT | Taiwan Time | +8 |
| ||
| UTC | Universal Coordinated Time | 0 |
| UYT | Uruguay Standard Time | -3 |
| UYST | Uruguay Summer Time | -2 |
| UZT | Uzbekistan Time | +5 |
| ||
| VLAST | Vladivostok Summer Time | +11 |
| VLAT | Vladivostok Time | +10 |
| VOST | Vostok Time | +6 |
| VST | Venezuela Standard Time | -4:30 |
| VUT | Vanuatu Time | +11 |
| ||
| WAST | Western Africa Summer Time | +2 |
| WAT | Western Africa Time | +1 |
| WEST | Western Europe Summer Time | +1 |
| WET | Western Europe Time | 0 |
| WFT | Wallis and Futuna Time | +12 |
| WIB | Waktu Indonesia Bagian Barat | +7 |
| WIT | Waktu Indonesia Bagian Timur | +9 |
| WITA | Waktu Indonesia Bagian Tengah | +8 |
| WKST | West Kazakhstan Standard Time | +5 |
| ||
| XJT | Xinjiang Standard Time | +6 |
| ||
| YAKST | Yakutsk Summer Time | +10 |
| YAKT | Yakutsk Time | +9 |
| YAPT | Yap Time | +10 |
| YEKST | Yekaterinburg Summer Time | +6 |
| YEKT | Yekaterinburg Time | +5 |
Moises Soft (Desarrollo web en Cuba)