DJC,
I can't promise that this will work with 3.60 (as I don't have a copy and won't download) but despite my best knowledge the below WILL work (at any day as these date algorithms are always valid)
break on
global $rd_day,$rd_month,$rd_year,$rd_internal
$CurDefDate = readprofilestring("c:\program files\common files\symantec shared\virusdefs\definfo.dat", "DefDates", "CurDefs" )
$rd_year = val(substr($CurDefDate, 1, 4))
$rd_month = val(substr($CurDefDate, 5, 2))
$rd_day = val(substr($CurDefDate, 7, 2))
gosub "intdate"
$Def_Int = $rd_internal
$rd_year = @year
$rd_month = @monthno
$rd_day = @mdayno
gosub "intdate"
$Def_Age = $rd_internal - $Def_Int
"Virus definitions are " + $Def_Age + " Day(s) old"
get $key
exit 1
:intdate ;this is normally CALLed but for clarity I made it a SUB
;
; intdate.kix
; Library routine to convert a date from Calendar to internal format.
;
; The algorithm used here is taken directly from the following document:
; http://www.capecod.net/~pbaum/date/date0.htm
;
; Variables passed:
; rd_day IN Day of month (0-31)
; rd_month IN Month of year (1-12)
; rd_year IN Full year
; rd_internal OUT Internal representation
;
; Amendment history:
; Version 1.0 21 June 2000 Richard Howarth
;
dim $MyYear,$MyMonth
$MyYear = $rd_year
$MyMonth = $rd_month
if $MyMonth < 3
$MyMonth = $MyMonth + 12
$MyYear = $MyYear - 1
endif
$rd_internal = $rd_day + ( 153 * $MyMonth - 457 ) / 5 + 365 * $MyYear + $MyYear / 4 - $MyYear / 100 + $MyYear / 400 - 306
return
($Def_Age is the days between the .dat date and today)
hth
_________________________