public com.google.type.DateOrBuilder getScheduleStartDateOrBuilder() {
        if (scheduleStartDateBuilder_ != null) {
          return scheduleStartDateBuilder_.getMessageOrBuilder();
        } else {
          return scheduleStartDate_ == null
              ? com.google.type.Date.getDefaultInstance()
              : scheduleStartDate_;
        }
      }
<pre>
Required. The start date of a transfer. Date boundaries are determined
relative to UTC time. If `schedule_start_date` and
[start_time_of_day][google.storagetransfer.v1.Schedule.start_time_of_day]
are in the past relative to the job's creation time, the transfer starts
the day after you schedule the transfer request.

**Note:** When starting jobs at or near midnight UTC it is possible that
a job starts later than expected. For example, if you send an outbound
request on June 1 one millisecond prior to midnight UTC and the Storage
Transfer Service server receives the request on June 2, then it creates
a TransferJob with `schedule_start_date` set to June 2 and a
`start_time_of_day` set to midnight UTC. The first scheduled
[TransferOperation][google.storagetransfer.v1.TransferOperation] takes
place on June 3 at midnight UTC.
</pre>

<code>.google.type.Date schedule_start_date = 1 [(.google.api.field_behavior) = REQUIRED];
</code>
java-storage-transfer/proto-google-cloud-storage-transfer-v1/src/main/java/com/google/storagetransfer/v1/proto/TransferTypes.java