|
|
|

|

|
Dicas
|

|
ASP - Active Server Page (Miscelâneas)
|
|
 |
Título da Dica: Formatação com Session.LCID
|
 |
|
|
Postada em 9/10/2003 por ^HEAVY-METAL^
Tal como eu já me debati, certamente outros tiveram ou tem o mesmo problema relativamente ao formato das datas e o Time Zone dos servidores que maioritariamente estão localizados nos Estados Unidos obriga-nos a escrever código para efetuar essas alterações, não só para formatar o dia e o mês para Português mas também para alterar a diferença horária.
Isto por vezes pode parecer mesquinho, no entanto e dependendo do projeto que se tem em mãos, as datas são preciosas e fundamentais para determinadas tarefas.
O exemplo não só permite definir o formato da data bem como sobrepor-se às definições regionais da maquina permitido desta forma formatar datas, moeda e respectiva pontuação para o formato português de uma forma extremamente simples e com uma linha de código.
O "Locale Identification" é um código que determina as Definições Regionais da maquina e que poder ser sobreposto utilizando a propriedade Session.LCID.
Exemplo:
<% Session.LCID = 2070 %>
A partir deste momento as definições regionais estão em Português.
Para formatar a data e acertar o TimeZone dou como exemplo uma diferença horária de -8 horas relativamente a Portugal:
<% Dim DataLonga, DataCurta, Hora ' ' Vários formatos utilizado a função DateAdd para somar ou subtrair ' à data do servidor o número de horas que quisermos. ' Neste caso vamos somar 8 horas à data da maquina ' DataLonga = FormatDateTime(DateAdd("h", 8, Now), 1) DataCurta = FormatDateTime(DateAdd("h", 8, Now), 2) Hora = FormatDateTime(DateAdd("h", 8, Now), 4) %>
A partir de agora estão definidas as variáveis que nos fornecem a data em vários formatos e que podem ser incluidas nas respectivas páginas em ASP:
<%=DataLonga%> : Sábado, 25 de Março de 2000 <%=DataCurta%> : 25-03-2000 <%=Hora%> : 00:11
Relativamente à moeda basta utilizar a o FormatCurrency normalmente:
<%=FormatCurrency(50000)%> : 50.000$00 Esc.
A tabela do Local ID é a seguinte e pode ser encontrada no Access 2000:
Language LCID Afrikaans 1078 Albanian 1052 Arabic 1025 Armenian * 1067 Assamese * 1101 Azeri (Cyrillic) 2092 Azeri (Latin) 1068 Basque 1069 Belarusian 1059 Bengali * 1093 Bulgarian 1026 Catalan 1027 Chinese (Simplified) 2052 Chinese (Traditional) 1028 Croatian 1050 Czech 1029 Danish 1030 Dutch 1043 English (Australian) 3081 English (Canadian) 4105 English (U.K.) 2057 English (U.S.) 1033 Estonian 1061 Faeroese 1080 Farsi 1065 Finnish 1035 French 1036 French (Canadian) 3084 Frisian 1122 Georgian * 1079 German 1031 German (Austrian) 3079 German (Swiss) 2055 Greek 1032 Gujarati * 1095 Hebrew 1037 Hindi * 1081 Hungarian 1038 Icelandic 1039 Indonesian 1057 Italian 1040 Japanese 1041 Kannada * 1099 Kashmiri * 1120 Kazakh 1087 Konkani * 1111 Korean 1042 Latvian 1062 Lithuanian 1063 Lithuanian (Classic) 2087 Macedonian 1071 Malay 1086 Malayalam * 1100 Manipuri * 1112 Marathi * 1102 Nepali * 1121 Norwegian Bokmal 1044 Norwegian Nynorsk 2068 Oriya * 1096 Polish 1045 Portuguese (Brazil) 1046 Portuguese (Portugal) 2070 Punjabi * 1094 Romanian 1048 Russian 1049 Sanskrit * 1103 Serbian (Cyrillic) 3098 Serbian (Latin) 2074 Sindhi * 1113 Slovak 1051 Slovenian 1060 Spanish 3082 Swahili 1089 Swedish 1053 Tamil * 1097 Tatar 1092 Telugu * 1098 Thai * 1054 Turkish 1055 Ukrainian 1058 Urdu 1056 Uzbek (Cyrillic) 2115 Uzbek (Latin) 1091 Vietnamese * 1066
A Microsoft tem um exemplo de como utilizar o LCID para mostrar certas informações no formato do browser do visitante:
http://support.microsoft.com/support/kb/articles/Q229/6/90.ASP
Espero desta forma ter dado um contributo e uma ajuda a todos aqueles que necessitam desta informação.
T+,
|
|
|
|

|