我正在使用郵件列表程序,它將日期插入到「已編碼」的Web鏈接中,以便用戶不能更改或編輯。將函數轉換爲經典ASP
格式描述如下:
一個八個字符的字符串,
AABBCCDD,
其中:
- 年份=
1980 + HexToInt(BB)/3
- 月=
HexToInt(CC)/7 - 21
- 日=
HexToInt(DD)/7 - 5
還有一個校驗和包括爲避免不經意修飾:
AA = IntToHex(Year + Month + Day mod 200)
例如
2660BDAF
將引用20 June, 2012
。
你能幫我下轉換成傳統的ASP:
CodedDateStr = Request.querystring("Exp")
AYear = 1980 + HexToInt(CodedDateStr[3] + CodedDateStr[4])/3
AMonth = HexToInt(CodedDateStr[5] + CodedDateStr[6])/7 - 21
ADay = HexToInt(CodedDateStr[7] + CodedDateStr[8])/7 - 5
ACheckSum = AYear + AMonth + ADay mod 200
if ACheckSum <> HexToInt(CodedDateStr[1] + CodedDateStr[2]) then
ValidDate = 0
else
ValidDate = 1
end if
AExpiryDate = EncodeDate(ADay, AMonth, AYear)
if Date() > AExpiryDate then
ExpiredOffer = 1
else
ExpiredOffer = 0
end if
....
它看起來像HexToInt
相當於是clng("&h" & hexnumber)
我不知道EncodeDate
,我希望它不像CDate(AMonth + "/" + ADay + "/" + AYear)
mhh這是經典的asp? – ulluoink
歡迎來到Stack Overflow。如果您專注於轉換過程中遇到的特定問題,您將有更好的機會獲得答案。爲此,函數HexToInt和EncodeDate應該做什麼? (您應該使用標記下方的「編輯」鏈接編輯您的問題 –
對不起,HexToInt應將諸如「FF」的字符串轉換爲小數,即255。EncodeDate應將日,月和年轉換爲日期值(用於比較ASP的Date()函數) – Xaz