function file_seltime, dirs, prefix, sttim, entim, $
	files=files, ss_output=ss_output, last_before=last_before, $
	qdebug=qdebug, qstop=qstop, closest=closest
;
;
;RESTRICTION:
;	file prefix must be 3 characters.
;HISTORY:
;	Written 5-Aug-94 by M.Morrison
;	19-Sep-94 (MDM) - Added /CLOSEST option
;	29-Nov-94 (MDM) - Added modification to handle compressed files.
;	29-Nov-94 (MDM) - Changed the default .0000 to .1200
;       11-oct-95 (SLF) - protect against sort(scaler)
;       28-Jan-00 (PGS) - y2k fix: replaced '31-dec-99' with reltime(/now)
;
if (n_elements(files) eq 0) then begin
    if (n_elements(dirs) eq 0) then dirs = ''
    if (n_elements(prefix) eq 0) then prefix = ''
    files = file_list(dirs, prefix + '*')
end
n = n_elements(files)
;
if (n_elements(sttim) eq 0) then begin
    ss = indgen(n)
end else begin
    break_file, files, dsk_log, dir, filnam, ext
    temp_ext = strmid(ext, max(strlen(ext))-2, 2)						;MDM added 29-Nov-94
    ss_temp = where(temp_ext eq '.Z')								;MDM added 29-Nov-94
    if (ss_temp(0) ne -1) then ext(ss_temp) = strmid(ext(ss_temp), 0, max(strlen(ext))-2)	;MDM added 29-Nov-94
    ext2 = '.1200'		;MDM changed to .1200 from .0000 29-Nov-94
    btemp = byte(strmid(ext, 1, 999))
    ss0 = where(btemp ne 0)
    if (ss0(0) ne -1) then if (min(btemp(ss0)) ge 48) and (max(btemp(ss0)) le 57) then ext2 = ext
    fid = strmid(filnam, 3, 6) + ext2
    tarr = anytim2ints(fid2ex(fid))
    if (keyword_set(qstop)) then stop
    ;
    ss = sort([int2secarr(tarr)])
    files = files(ss)	;MDM added 19-Apr-95
    tarr  = tarr(ss)
    ;
    if (keyword_set(closest)) then begin
	ss = tim2dset(tarr, sttim)
    end else begin
;	if (n_elements(entim) eq 0) then entim = '31-dec-99'
	if (n_elements(entim) eq 0) then entim = reltime(/now) ; pgs y2k
	between = 1-keyword_set(last_before)
	ss = sel_timrange(tarr, sttim, entim, between=between)
    end
end
;
if (keyword_set(ss_output)) then begin
    return, ss 
end else begin
    if (ss(0) eq -1) then return, ''
    return, files(ss)
end

end
