根据用户的地理位置使用适当的日历配置文件:perl

时间:2013-04-29 22:31:26

标签: perl calendar

我在perl脚本中使用delta_workdays()方法来计算两个日期之间的工作日数。目前我正在使用美国个人资料进行计算,并希望增加对英国的支持。根据用户的位置,将使用美国配置文件或GB配置文件。是否有perl函数可用于获取用户的位置并使用适当的配置文件?

例如

if ($user_location=="US"){  
   my $cal = Date::Calendar->new( $Profiles->{US} );  
}   
elsif($user_location=="GB"){   
   my $cal = Date::Calendar->new( $Profiles->{GB} );   
} 

2 个答案:

答案 0 :(得分:1)

您可以向系统询问时区:

use POSIX;
$user_location = strftime '%Z', localtime;

对于美国,您可能会获得PDT,MDT,MST,CDT和EDT(甚至可能是HST,HADT和AKDT)。英国应该是GMT。

BTW,对于字符串比较,请使用eq代替==

答案 1 :(得分:0)

取出什么?我知道没有系统知道它的用户居住在佛罗里达州(US-FL),更不用说他们在那里工作了。它绝对不适用于Windows上的任何人(只知道国家)。用户必须指定它。