我在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} );
}
答案 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上的任何人(只知道国家)。用户必须指定它。