如何配置巴西的夏令时日期

文章翻译 文章翻译
文章编号: 317211 - 查看本文应用于的产品
重要说明:本文包含有关如何修改注册表的信息。修改注册表之前,一定要先进行备份,并且一定要知道在出现问题时如何还原注册表。有关如何备份、还原和修改注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 Microsoft Windows 注册表说明
展开全部 | 关闭全部

本文内容

概要

免责声明:请注意,此信息每年都会更改,而且本文的内容将根据需要更新。那些想要通过使用注册表文件更新时区的客户必须在部署之前充分测试该解决方案。

巴西不使用静态夏令时日期。巴西每年的夏令时开始和结束日期都不同。在“适用于”部分列出的 Microsoft 产品中,巴西的默认时区是 (GMT -3:00) 巴西利亚。本文说明了如何在 Windows 中修改 (GMT -3:00) 巴西利亚时区夏令时的开始和结束日期的默认行为,以反映巴西的实际夏令时开始和结束日期。

Windows 中 (GMT -3:00) 巴西利亚时区夏令时的默认开始日期和结束日期如下:
  • 夏令时开始于十月第三个星期日的上午 02:00。
  • 夏令时结束于二月第二个星期日的上午 02:00。
巴西 2005 至 2006 年实行的实际夏令时开始日期和结束日期如下:
  • 夏令时开始于 2005 年 10 月 16 日。
  • 夏令时结束于 2006 年 2 月 19 日。
实行夏令时的州包括南里奥格兰德、圣卡塔琳娜、巴拉那、圣保罗、里约热内卢、圣埃斯皮里图、米纳斯吉拉斯、戈亚斯、马托格罗索、南马托格罗索和联邦首都。通过使用默认的 (GMT -3:00) 巴西利亚时区设置,巴西受影响的州中基于 Windows 的计算机不能正确地解释与夏令时转换有关的时间。使用下列方法之一可以修改 Windows 中这一时区的默认行为,使其正确反映实际的夏令时日期。

有关 2005 年和 2006 年夏令时开始日期和结束日期的详细信息,请访问以下巴西网站:
Ministério de Minas e Energias (http://www.mme.gov.br)
http://www.mme.gov.br/site/news/detail.do?newsId=5236

使用时区编辑器 (Tzedit.exe) 工具

使用时区编辑器 (Tzedit.exe) 可以为巴西利亚时区设置新的夏令时开始日期和结束日期。此工具包含在适用于您的 Microsoft Windows 版本的资源工具包中。

方法 1:手动配置夏令时日期

您可以使用 Tzedit.exe 手动修改时区设置。如果您需要在很少几台计算机上配置夏令时日期,就可以使用此方法。为此,请按照下列步骤操作:
  1. 启动时区编辑器。
  2. 在“Time Zones”列表中,单击“(GMT -3:00) 巴西利亚”,然后单击“Edit”。
  3. 在“Edit Time Zone”对话框中,通过单击选择“Automatically set Daylight Saving Time”复选框。
  4. 指定正确的夏令时开始日期和结束日期。

    在“Start Day”框中,单击所需的日期编号。例如,单击“Second”。单击所需的相应星期几。例如,单击“Sunday”。单击所需的月份。例如,单击“October”。选择想要开始夏令时的时间。例如,选择“12:00 AM”。
  5. 在“Last Day”框中,单击所需的日期编号。例如,单击“Last”。单击所需的相应星期几。例如,单击“Sunday”。单击所需的月份。例如,单击“February”。选择想要结束夏令时的时间。例如,选择“12:00 AM”。
  6. 在“Daylight Bias”列表中,选择在夏令时生效时要更改的时间量。例如,要将时钟向前设置 1 小时,则保留默认设置“+1:00”。
  7. 单击“OK”,然后单击“Close”。
  8. 单击“开始”,指向“设置”,指向“控制面板”,然后双击“日期/时间”。
  9. 单击“时区”选项卡。
  10. 选择不同于 (GMT -3:00) 巴西利亚的时区,然后单击“应用”。
  11. 单击“(GMT -3:00) 巴西利亚”,然后单击“确定”。

    注意:要使新更改生效,必须执行步骤 10 和 11。

方法 2:导出注册表项信息

警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能导致严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft 不能保证可以解决这些问题。修改注册表需要您自担风险。
您可以将存储时区信息的注册表项导出到一个 .reg 文件,然后使用该文件来更新其他计算机的注册表以部署新时区设置。为此,请按照下列步骤操作:
  1. 按照本文的“方法 1:手动配置夏令时日期”部分中的步骤 1 到 11 来修改巴西利亚时区的夏令时开始日期和结束日期。
  2. 测试以便验证时区信息已正确更新。
  3. 单击“开始”,然后单击“运行”。
  4. 在“打开”框中,键入 regedit,然后单击“确定”。
  5. 在“注册表编辑器”窗口中,根据所运行的操作系统,执行下列操作之一:
    • 如果运行的是 Microsoft Windows XP、Microsoft Windows 2000 或 Microsoft Windows Server 2003,请找到并单击以下注册表项:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\E. South America Standard Time
    • 如果运行的是 Microsoft Windows 98、Microsoft Windows 98 Second Edition 或 Microsoft Windows Millennium Edition (Me),请找到并单击以下注册表项:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Time Zones\E. South America
  6. 在“注册表”(或“文件”)菜单上,单击“导出注册表文件”(或“导出”)。
  7. 在出现的“导出注册表文件”对话框中,单击“保存在”框中的“桌面”,在“文件名”框中键入 timezones,然后单击“保存”。
  8. 找到并单击以下注册表项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
  9. 在“注册表”(或“文件”)菜单上,单击“导出注册表文件”(或“导出”)。
  10. 在出现的“导出注册表文件”对话框中,单击“保存在”框中的“桌面”,在“文件名”框中键入 tzinfo,然后单击“保存”。
  11. 退出注册表编辑器。
  12. 将您在步骤 7 和步骤 10 中创建的 Timezones.reg 和 Tzinfo.reg 文件复制到想要用新的夏令时日期更新时区设置的计算机中。
  13. 在目标计算机上,双击 Timezones.reg 和 Tzinfo.reg 文件。
  14. 在系统提示您是否将信息添加进注册表时,单击“是”。
  15. 在收到信息已被成功地输入注册表的消息时,单击“确定”。
  16. 重新启动计算机。

方法 3:使用登录脚本

要使用此方法,必须执行方法 2 中的步骤以创建将在登录脚本中使用的注册表文件。为此,请将以下示例代码添加到登录脚本中:
if "%OS%" == "Windows_NT" goto NT_OS
   regedit /s z:\<Win9x.reg file>

   goto TZEND

:NT_OS
   regedit /s %LogonServer%\NETLOGON\<NT.reg file>

: TZEND
				
注意:要在运行 Windows XP、Windows 2000 或 Windows Server 2003 的计算机上使用方法 2 和 3,对注册表进行更改的用户必须在该计算机上具有管理权限或适当的注册表项权限。

如何更新注册表项权限

默认情况下,基于 Windows 2000 或 Windows XP 的计算机上的域用户没有写入以下注册表项的权限:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\E. South America Standard Time


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
如果用户对这些项没有权限,他们将无法使用登录脚本过程来更新注册表信息。要授予这些项的权限,请按照下列步骤操作:
  1. 请仔细阅读以下文章以了解实用程序和过程:
    180546 自动更新成员服务器上的本地组
    264584 如何从命令行或脚本更改注册表值或权限
    245031 如何从命令行使用脚本来更改注册表权限
  2. 使用文章 Q180546 中说明的步骤创建一个批处理过程,以更新属于指定域的所有服务器和工作站上的注册表项。请记住,此过程可用于许多不同情况。在每台计算机要执行的操作取决于 Sub3.bat。在本例中,可以使用 Regini.exe 实用工具向每个人授予对这两个注册表项的完全控制权限。也可以使用 Regini.exe 更改注册表项,而不使用登录脚本。有关详细信息,请参阅文章 264584。
下面是示例批处理文件。

文件名:INSUSER.BAT(初始 bat 文件)
set CurrentDomain=nicdome1
echo off
cls
if (%CurrentDomain%) == (mydomain) echo Edit the first line of INSUSER.BAT.
if (%CurrentDomain%) == (mydomain) echo then rerun INSUSER.BAT
if (%CurrentDomain%) == (mydomain) goto verybottom

rem *** Display current variable settings ***
echo Current domain is %CurrentDomain%.
echo.
rem *** Determine if working list is present ***
If exist working.txt echo Working list detected, resuming batch process.
If exist working.txt goto SkipCreateList

echo Creating a list of member servers in %CurrentDomain%.
echo.
netdom /d:%CurrentDomain% member > workingM.txt
netdom /d:%CurrentDomain% bdc > workingDC.txt
rem *** Remove NETDOM formatting from server names ***
if exist temp.txt del temp.txt
for /F "skip=6 delims=\ tokens=2" %%a in (workingM.txt) do call sub1.bat %%a
for /F "skip=6 delims=\ tokens=2" %%a in (workingDC.txt) do call sub1.bat %%a
del workingM.txt
del workingDC.txt
ren temp.txt working.txt

:SkipCreateList
rem *** Determine if machine is online ***
if exist online.txt del online.txt

for /F "delims=\\ tokens=1" %%a in (working.txt) do call sub2.bat %%a

rem *** Remove servers that have been processed from WORKING.TXT ***
if not exist online.txt goto NoServersOnline
echo.
echo Updating list of servers that need to be processed.
for /F "delims=  tokens=1" %%a in (online.txt) do call sub4.bat %%a
echo List complete.
goto Bottom

:NoServersOnline
Echo.
Echo There are no servers currently online that can be processed.
:Bottom
echo.
echo ------------------------------------
echo --- Finished processing servers. ---
echo ------------------------------------
:verybottom
				
文件名:SUB1.BAT
rem *** Remove formatting from Netdom output ***
echo %1 >> temp.txt
  
File name: SUB2.BAT
echo Pinging %1...
ping %1 > PING.TXT
for /F "skip=6 tokens=4" %%a in (PING.TXT) do call sub3.bat %%a %1
del PING.TXT

File name: SUB3.BAT
rem *** If server is online it will be logged in online.txt for ***
rem *** processing later.                                       ***
rem ***    %2 is a bogus variable, thrown away.
if not (%1) == (bytes) goto NotOnline
echo %3 >> ONLINE.TXT
echo [%3 is online.]
rem ***********************************************
rem *** Put per-server processing commands here ***
rem ***********************************************

ECHO Changing Registry Key permissions on %3.
ECHO *** \\%3 *** >> local.log

Regini  -m \\%3 regacl.ini > nul

rem *****************************************************
rem *** Put per-server processing commands above here ***
rem *****************************************************

goto Sub3Bot
:NotOnline
:Sub3Bot
				
文件名:SUB4.BAT
rem *** loop thru each name in working.txt and remove servers that were   ***
rem *** in online.txt  ***

echo Removing %1 from list.
if exist temp.txt del temp.txt
for /F "tokens=1" %%a in (working.txt) do call sub5.bat %%a %%1
del working.txt
if exist temp.txt ren temp.txt working.txt
				
文件名:SUB5.BAT
rem *** Filter out servers that have been updated ***
rem %1 is name from working.txt
rem %2 is name from online.txt
if (%1) == (%2) echo %1 >> complete.txt
if not (%1) == (%2) echo %1 >> temp.txt
				
注意:Regacl.ini 文件有两个注册表项:“E. South America Standard Time”和“Hor. padrao America Sul (Leste)”。只有在您混用英语 Windows 和巴西葡萄牙语 Windows 时才需要两个注册表项,每个版本需要一项。

文件名:REGACL.INI
\Registry\Machine\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\E. South America Standard Time [1 5 7 11 14 17]
\Registry\Machine\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Hor. padrao America Sul (Leste) [1 5 7 11 14 17]
\Registry\Machine\SYSTEM\CurrentControlSet\Control\TimeZoneInformation [1 5 7 11 14 17]
				

使用夏令时更新实用程序 (Timezone.exe)

使用夏令时更新实用程序 (Timezone.exe) 可以更新注册表中当前时区的夏令时开始日期和结束日期。此命令行工具包含在适用于您的 Windows 版本的资源工具包中。

注意:此实用工具只更新当前时区的夏令时信息,该信息存储在以下注册表项中:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
它并不更改默认的时区定义,该定义存储在以下注册表项中:

Windows XP、Windows 2000 和 Windows Server 2003

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones

Windows 9x 和 Windows Me

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Time Zones
这意味着如果您日后使用控制面板中的“日期和时间”工具更改该时区,则您对该时区所修改的夏令时开始和结束日期将被重置为默认值。

Timezone.exe 使用以下语法:
timezone /g /s startdate enddate
Timezone.exe 使用的参数如下:
  • /g 显示当前时区信息。
  • time 指定运行该任务的时间。时间是按 24 小时制的小时:分钟形式指定的。例如,0:00 代表午夜,20:30 代表晚上 8:30。
  • StartDate EndDate 设置新时区,其中 StartDate 是夏令时开始的日期,EndDate 是夏令时结束的日期。

    StartDateEndDate 使用 Hour:DayOfWeek:Day:Month 格式,其中:
    • Hour 用于指定时间,使用 24 小时制时钟。值的范围从 00 到 23。例如,00 代表午夜,20 代表晚上 8:00。
    • DayOfWeek 用于指定星期几。值的范围从 0 到 6,其中 0 表示星期日、1 表示星期一,依此类推。
    • Day 指定 DayOfWeek 在当月中第几次出现,其中 1 代表第一次出现,2 代表第二次出现,依此类推。例如,如果 DayOfWeek 是星期日,则 1 代表当月的第一个星期日,3 代表当月的第三个星期日。
    • Month 用于指定月份。值的范围从 01 到 12,其中 01 代表一月,02 代表二月,依此类推。

方法 1:手动配置夏令时日期

以下是如何使用 Timezone.exe 来配置新的夏令时开始和结束日期的示例。

在命令提示符下键入以下命令行,然后按 Enter:
timezone /s 00:0:2:10 00:0:3:02
当前时区的夏令时时间即被配置为在十月份第二个星期日午夜 12:00 开始 (00:0:2:10),并在二月份第三个星期日午夜 12:00 结束 (00:0:3:02)。

方法 2:使用登录脚本

如果要自动执行用新的夏令时开始日期和结束日期来更新多台计算机的过程,可以在登录脚本中使用 Timezone.exe。将以下示例代码添加到登录脚本,可以通过使用 Timezone.exe 来更新基于 Windows 2000 或 Windows XP 的计算机:
if "%OS%" == "Windows_NT" goto NT_OS
   z:\Timezone /s 02:0:2:10 00:0:3:02
  goto TZEND

 :NT_OS
   %LogonServer%\NETLOGON\Timezone /s 02:0:2:10 00:0:3:02

:TZEND
				
注意:在运行 Windows XP、Windows 2000 或 Windows Server 2003 的计算机上,对注册表进行更改的用户必须在该计算机上具有管理权限或适当的注册表项权限。

使用 Visual Basic 以编程方式更改时区信息

有关如何使用 Visual Basic 以编程方式更改时区信息的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
221542 如何使用 Visual Basic 更改时区信息

更多信息

在 Microsoft Windows 98、Windows 98 Second Edition 和 Windows Millennium Edition (Me) 中,时区信息存储在以下注册表项中:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Time Zones
在 Microsoft Windows XP、Windows 2000 和 Windows Server 2003 中,时区信息存储在以下注册表项中:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
计算机上配置的当前日期和时间设置位于以下注册表项中:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

参考

有关如何使用时区编辑器 (Tzedit.exe) 的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
158195 OEM Service Release 2 CD-ROM 上提供时区编辑器
194364 资源工具包中不包含 Timezone.exe 应用程序
有关 Microsoft Outlook 如何管理涉及时区设置的会议和约会计划的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
195900 OL2000:Outlook 如何处理会议请求的时区问题
197480 OL2000:更改时区而无需更改约会时间
195593 OL2000:禁止调整已导入约会的时区
有关 Windows 资源工具包的详细信息,请访问下面的 Microsoft 网站:
http://www.microsoft.com/windows/reskits/default.asp

属性

文章编号: 317211 - 最后修改: 2006年9月7日 - 修订: 5.2
这篇文章中的信息适用于:
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 98 第二版
  • Microsoft Office Outlook 2003
  • Microsoft Outlook 2002 标准版
  • Microsoft Outlook 2000 标准版
  • Microsoft Outlook 98 标准版
  • Microsoft Outlook 97 标准版
关键字:?
ocsso kbprb KB317211
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com