Scope of $timeformat

Hi All ,
I was trying following code :



 property prop;
  @( posedge clk ) <some_expression>;
 endproperty

 assert  property ( prop )  $display("T:%0t Pass",$realtime) ;

                     else   $display("T:%0t Fail",$realtime) ;

 initial  begin
   $timeformat(-9,3," ns",5);
    #100 ; $finish();
 end

I notice that %t within the pass/fail action block uses the $timeformat defined within the initial block although it was defined later .

LRM Section 20.4.2 $timeformat says ::
“It sets the time unit, precision number, suffix string, and minimum field width for all %t formats specified in all modules that follow in the source description until another $timeformat system task is invoked.”

Since the action block don’t follow the $timeformat , why is it that it still applies to them ?

$timeformat is applied at t:0 whereas the action block execute after t:0 .
Can I say that all %t that execute after t:0 within the module ( irrespective of whether the %t is written before or after $timeformat definition ) would follow the format defined as per $timeformat ?

In reply to MICRO_91:

$timeformat is a global setting.