Above answers didn't work. In Apex 4.2 (or probably higher) Try this:
Display as: Text Field (didn't try hidden yet)
source used: "Always, replacing any existing value in session state"
source type: "Database Column"
Source value or expression: 'COLUMN_NAME' case sensitive
Post Calculation Computation: to_char(sysdate,'mm/dd/yyyy hh24:mi')
format mask: "mm/dd/yyyy hh24:mi"(no quotes)
Dafault value: sysdate
Default Value Type: PL/SQL Expression
In "Processes" - After Submit
Type: PL/SQL Anonymous Block
On Submit - After Computations and Validations
Declare
begin
update table_name
set column_name = sysdate
where trunc(sysdate) = column_name;
commit;
end;