我的目标是创建一个时区转换器,它将比较pdf表单中的两个不同日期字段输入,以决定将哪个数组发送到填充下拉列表的函数。一个阵列具有DST的UTC偏移,另一个阵列具有忽略DST的UTC偏移。我首先尝试编写一个条件语句,根据静态日期检查日期,但这必须每年进行修改。有没有办法利用JavaScript来使这个过程更容易?理想情况下,我想要一个自我调整代码,但每年1次调整并不是世界末日。最初的想法包括这个一般的想法(伪代码):
if(11 Mar 2012 < date < 04 Nov 2012){
CountryCode = CountryCodeDST}
else{
CountryCode = CountryCode}
以下是具有该功能的数组。有任何想法吗?指导?这是我第一次接触到javascript,希望这个问题有意义,可以帮助其他人。
var CountryCode = new Array(
"CST",
"EST",
"MST",
"MST-Arizona");
var UTCoffset = new Array(
"GMT+0600",
"GMT+0500",
"GMT+0700",
"GMT+0700");
var CountryCodeDST = new Array(
"CST",
"EST",
"MST",
"MST-Arizona");
var UTCoffsetDST = new Array(
"GMT+0500",
"GMT+0400",
"GMT+0600",
"GMT+0700");
function TZ_Populate(dropdownField)
{
for (var i=0; i < CountryCode.length; i++)
dropdownField.addItem(CountryCode[i]);
}
function TZ_ReadOut(TZ_Alias, UTC_Alias)
{
for (var i = 0; i < CountryCode.length; i++)
{
if (CountryCode[i] == TZ_Alias)
{
UTC_Alias.rawValue = UTCoffset[i];
break;
}
}
}
答案 0 :(得分:0)
if(11 Mar 2012 < date < 04 Nov 2012){
CountryCode = CountryCodeDST}
else{
CountryCode = CountryCode}
这在Javascript中实际上非常简单,因为在幕后Javascript将日期表示为整数(特别是自纪元点以来的毫秒数)。因此,您几乎可以使用相同的代码编写,并使其实际运行:
var Mar11_2012 = new Date('3/11/2012');
var Nov04_2012 = new Date('11/4/2012')
if(Mar11_2012 < date && date < Nov04_2012){
CountryCode = CountryCodeDST}
else{
CountryCode = CountryCode}