How to issue a DML with WHERE clause comparing a value which is trigger generated in table?
There is a function named make_timestamp() that you can use for this. It also makes your trigger function a lot shorter:

CREATE FUNCTION timestamp_insert() 
  RETURNS trigger
  LANGUAGE plpgsql
AS 
$$
begin
    new.timestamp := make_timestamp(new.year, new.month, new.date, new.hour, new.min, new.sec);
    return new;
end;
$$


The same function can be used in the UPDATE as well

UPDATE TEST 
   SET value = ? 
WHERE timestamp &lt; make_timestamp(year, month, date, hour, min, sec);




If you are using Postgres 12, you don't need the trigger as it now supports generated/calculated columns:

CREATE TABLE TEST 
(
  year int,
  month int, 
  date int, 
  hr int, 
  min int, 
  sec int, 
  ts timestamp generated always as (make_timestamp(year, month, date, hr, min, sec)) stored,
  value double precision
);