0

「エンコードされた」Web リンクに日付を挿入するメーリング リスト プログラムを使用しているため、ユーザーが変更または編集することはできません。

フォーマットは次のように記述されます。

8 文字の文字列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)

4

1 に答える 1

1

CLng("&h" & hexnumber)HexToInt の良い方法のように見えます。

EncodeDate についてDateSerialは、年、月、日を受け取り、Date 値を返す関数を見てください。

于 2012-07-03T05:07:20.203 に答える