Splunk uses the following precedence rules to assign time stamps to events:
Splunk looks for a time or date in the event itself using an explicit TIMEFORMAT, if provided. You configure TIMEFORMAT in props.conf.
If no TIMEFORMAT was configured for the data, Splunk attempts to automatically identify a time or date in the event itself. It uses the event's source type (which includes TIMEFORMAT information) to try to find the timestamp.
If an event doesn't have a time or date, Splunk uses the timestamp from the most recent previous event of the same source.
If no events in a source have a date, Splunk tries to find one in the source name or file name. (This requires that the events have a time, even though they don't have a date.)
For file sources, if no date can be identified in the file name, Splunk uses the file's modification time.
As a last resort, Splunk sets the timestamp to the current system time when indexing each event.