In Spark or databricks, seems no existing function for a dataframe to add e.g. one day to a timestamp and returns a timestamp.
The date_add or date_sub truncates the hour, minute and second components, keeping only the date.
.withColumn('DT', F.date_add(F.col('StartTime'), days=-1))
One solution to add day / month / minute while keeping the original timestamp format is using the interval expression as below:
.withColumn('DT', F.col('StartTime') + F.expr('INTERVAL -1 DAY'))