Required. The start date of a transfer. Date boundaries are determined relative to UTC time. Ifschedule_start_dateandstart_time_of_dayare 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 withschedule_start_dateset to June 2 and astart_time_of_dayset to midnight UTC. The first scheduledTransferOperationtakes place on June 3 at midnight UTC.
The last day a transfer runs. Date boundaries are determined relative to UTC time. A job runs once per 24 hours within the following guidelines: * * Ifschedule_end_dateandschedule_start_dateare the same and in the future relative to UTC, the transfer is executed only one time. * * Ifschedule_end_dateis later thanschedule_start_dateandschedule_end_dateis in the future relative to UTC, the job runs each day atstart_time_of_daythroughschedule_end_date.
The time in UTC that a transfer job is scheduled to run. Transfers may start later than this time. Ifstart_time_of_dayis not specified: * * One-time transfers run immediately. * * Recurring transfers run immediately, and each day at midnight UTC, throughschedule_end_date. Ifstart_time_of_dayis specified: * * One-time transfers run at the specified time. * * Recurring transfers run at the specified time each day, throughschedule_end_date.
The time in UTC that no further transfer operations are scheduled. Combined withschedule_end_date,end_time_of_dayspecifies the end date and time for starting new transfer operations. This field must be greater than or equal to the timestamp corresponding to the combination ofschedule_start_dateandstart_time_of_day, and is subject to the following: * * Ifend_time_of_dayis not set andschedule_end_dateis set, then a default value of23:59:59is used forend_time_of_day. * * Ifend_time_of_dayis set andschedule_end_dateis not set, thenINVALID_ARGUMENTis returned.
Interval between the start of each scheduled TransferOperation. If unspecified, the default value is 24 hours. This value may not be less than 1 hour.
getScheduleStartDate
Required. The start date of a transfer. Date boundaries are determined
relative to UTC time. Ifschedule_start_dateandstart_time_of_dayare 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 withschedule_start_dateset to June 2 and astart_time_of_dayset to midnight UTC. The first scheduledTransferOperationtakes
place on June 3 at midnight UTC.
Required. The start date of a transfer. Date boundaries are determined
relative to UTC time. Ifschedule_start_dateandstart_time_of_dayare 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 withschedule_start_dateset to June 2 and astart_time_of_dayset to midnight UTC. The first scheduledTransferOperationtakes
place on June 3 at midnight UTC.
The last day a transfer runs. Date boundaries are determined relative to
UTC time. A job runs once per 24 hours within the following guidelines:
Ifschedule_end_dateandschedule_start_dateare the same and in
the future relative to UTC, the transfer is executed only one time.
Ifschedule_end_dateis later thanschedule_start_dateandschedule_end_dateis in the future relative to UTC, the job runs each
day atstart_time_of_daythroughschedule_end_date.
The last day a transfer runs. Date boundaries are determined relative to
UTC time. A job runs once per 24 hours within the following guidelines:
Ifschedule_end_dateandschedule_start_dateare the same and in
the future relative to UTC, the transfer is executed only one time.
Ifschedule_end_dateis later thanschedule_start_dateandschedule_end_dateis in the future relative to UTC, the job runs each
day atstart_time_of_daythroughschedule_end_date.
The time in UTC that no further transfer operations are scheduled. Combined
withschedule_end_date,end_time_of_dayspecifies the end date and time for starting new transfer
operations. This field must be greater than or equal to the timestamp
corresponding to the combination ofschedule_start_dateandstart_time_of_day,
and is subject to the following:
Ifend_time_of_dayis not set andschedule_end_dateis set, then
a default value of23:59:59is used forend_time_of_day.
Ifend_time_of_dayis set andschedule_end_dateis not set, thenINVALID_ARGUMENTis returned.
The time in UTC that no further transfer operations are scheduled. Combined
withschedule_end_date,end_time_of_dayspecifies the end date and time for starting new transfer
operations. This field must be greater than or equal to the timestamp
corresponding to the combination ofschedule_start_dateandstart_time_of_day,
and is subject to the following:
Ifend_time_of_dayis not set andschedule_end_dateis set, then
a default value of23:59:59is used forend_time_of_day.
Ifend_time_of_dayis set andschedule_end_dateis not set, thenINVALID_ARGUMENTis returned.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Google Cloud Storage Transfer V1 Client - Class Schedule (2.2.1)\n\nVersion latestkeyboard_arrow_down\n\n- [2.2.1 (latest)](/php/docs/reference/cloud-storage-transfer/latest/V1.Schedule)\n- [2.2.0](/php/docs/reference/cloud-storage-transfer/2.2.0/V1.Schedule)\n- [2.1.1](/php/docs/reference/cloud-storage-transfer/2.1.1/V1.Schedule)\n- [2.0.2](/php/docs/reference/cloud-storage-transfer/2.0.2/V1.Schedule)\n- [1.5.0](/php/docs/reference/cloud-storage-transfer/1.5.0/V1.Schedule)\n- [1.4.5](/php/docs/reference/cloud-storage-transfer/1.4.5/V1.Schedule)\n- [1.3.1](/php/docs/reference/cloud-storage-transfer/1.3.1/V1.Schedule)\n- [1.2.0](/php/docs/reference/cloud-storage-transfer/1.2.0/V1.Schedule)\n- [1.1.1](/php/docs/reference/cloud-storage-transfer/1.1.1/V1.Schedule)\n- [1.0.6](/php/docs/reference/cloud-storage-transfer/1.0.6/V1.Schedule) \nReference documentation and code samples for the Google Cloud Storage Transfer V1 Client class Schedule.\n\nTransfers can be scheduled to recur or to run just once.\n\nGenerated from protobuf message `google.storagetransfer.v1.Schedule`\n\nNamespace\n---------\n\nGoogle \\\\ Cloud \\\\ StorageTransfer \\\\ V1\n\nMethods\n-------\n\n### __construct\n\nConstructor.\n\n### getScheduleStartDate\n\nRequired. The start date of a transfer. Date boundaries are determined\nrelative to UTC time. If `schedule_start_date` and\n[start_time_of_day](/php/docs/reference/cloud-storage-transfer/latest/V1.Schedule#_Google_Cloud_StorageTransfer_V1_Schedule__getStartTimeOfDay__)\nare in the past relative to the job's creation time, the transfer starts\nthe day after you schedule the transfer request.\n\n**Note:** When starting jobs at or near midnight UTC it is possible that\na job starts later than expected. For example, if you send an outbound\nrequest on June 1 one millisecond prior to midnight UTC and the Storage\nTransfer Service server receives the request on June 2, then it creates\na TransferJob with `schedule_start_date` set to June 2 and a\n`start_time_of_day` set to midnight UTC. The first scheduled\n[TransferOperation](/php/docs/reference/cloud-storage-transfer/latest/V1.TransferOperation) takes\nplace on June 3 at midnight UTC.\n\n### hasScheduleStartDate\n\n### clearScheduleStartDate\n\n### setScheduleStartDate\n\nRequired. The start date of a transfer. Date boundaries are determined\nrelative to UTC time. If `schedule_start_date` and\n[start_time_of_day](/php/docs/reference/cloud-storage-transfer/latest/V1.Schedule#_Google_Cloud_StorageTransfer_V1_Schedule__getStartTimeOfDay__)\nare in the past relative to the job's creation time, the transfer starts\nthe day after you schedule the transfer request.\n\n**Note:** When starting jobs at or near midnight UTC it is possible that\na job starts later than expected. For example, if you send an outbound\nrequest on June 1 one millisecond prior to midnight UTC and the Storage\nTransfer Service server receives the request on June 2, then it creates\na TransferJob with `schedule_start_date` set to June 2 and a\n`start_time_of_day` set to midnight UTC. The first scheduled\n[TransferOperation](/php/docs/reference/cloud-storage-transfer/latest/V1.TransferOperation) takes\nplace on June 3 at midnight UTC.\n\n### getScheduleEndDate\n\nThe last day a transfer runs. Date boundaries are determined relative to\nUTC time. A job runs once per 24 hours within the following guidelines:\n\n- If `schedule_end_date` and\n [schedule_start_date](/php/docs/reference/cloud-storage-transfer/latest/V1.Schedule#_Google_Cloud_StorageTransfer_V1_Schedule__getScheduleStartDate__)\n are the same and in\n the future relative to UTC, the transfer is executed only one time.\n\n- If `schedule_end_date` is later than `schedule_start_date` and\n `schedule_end_date` is in the future relative to UTC, the job runs each\n day at\n [start_time_of_day](/php/docs/reference/cloud-storage-transfer/latest/V1.Schedule#_Google_Cloud_StorageTransfer_V1_Schedule__getStartTimeOfDay__)\n through `schedule_end_date`.\n\n### hasScheduleEndDate\n\n### clearScheduleEndDate\n\n### setScheduleEndDate\n\nThe last day a transfer runs. Date boundaries are determined relative to\nUTC time. A job runs once per 24 hours within the following guidelines:\n\n- If `schedule_end_date` and\n [schedule_start_date](/php/docs/reference/cloud-storage-transfer/latest/V1.Schedule#_Google_Cloud_StorageTransfer_V1_Schedule__getScheduleStartDate__)\n are the same and in\n the future relative to UTC, the transfer is executed only one time.\n\n- If `schedule_end_date` is later than `schedule_start_date` and\n `schedule_end_date` is in the future relative to UTC, the job runs each\n day at\n [start_time_of_day](/php/docs/reference/cloud-storage-transfer/latest/V1.Schedule#_Google_Cloud_StorageTransfer_V1_Schedule__getStartTimeOfDay__)\n through `schedule_end_date`.\n\n### getStartTimeOfDay\n\nThe time in UTC that a transfer job is scheduled to run. Transfers may\nstart later than this time.\n\nIf `start_time_of_day` is not specified:\n\n- One-time transfers run immediately.\n- Recurring transfers run immediately, and each day at midnight UTC, through [schedule_end_date](/php/docs/reference/cloud-storage-transfer/latest/V1.Schedule#_Google_Cloud_StorageTransfer_V1_Schedule__getScheduleEndDate__). If `start_time_of_day` is specified:\n- One-time transfers run at the specified time.\n- Recurring transfers run at the specified time each day, through `schedule_end_date`.\n\n### hasStartTimeOfDay\n\n### clearStartTimeOfDay\n\n### setStartTimeOfDay\n\nThe time in UTC that a transfer job is scheduled to run. Transfers may\nstart later than this time.\n\nIf `start_time_of_day` is not specified:\n\n- One-time transfers run immediately.\n- Recurring transfers run immediately, and each day at midnight UTC, through [schedule_end_date](/php/docs/reference/cloud-storage-transfer/latest/V1.Schedule#_Google_Cloud_StorageTransfer_V1_Schedule__getScheduleEndDate__). If `start_time_of_day` is specified:\n- One-time transfers run at the specified time.\n- Recurring transfers run at the specified time each day, through `schedule_end_date`.\n\n### getEndTimeOfDay\n\nThe time in UTC that no further transfer operations are scheduled. Combined\nwith\n[schedule_end_date](/php/docs/reference/cloud-storage-transfer/latest/V1.Schedule#_Google_Cloud_StorageTransfer_V1_Schedule__getScheduleEndDate__),\n`end_time_of_day` specifies the end date and time for starting new transfer\noperations. This field must be greater than or equal to the timestamp\ncorresponding to the combination of\n[schedule_start_date](/php/docs/reference/cloud-storage-transfer/latest/V1.Schedule#_Google_Cloud_StorageTransfer_V1_Schedule__getScheduleStartDate__)\nand\n[start_time_of_day](/php/docs/reference/cloud-storage-transfer/latest/V1.Schedule#_Google_Cloud_StorageTransfer_V1_Schedule__getStartTimeOfDay__),\nand is subject to the following:\n\n- If `end_time_of_day` is not set and `schedule_end_date` is set, then\n a default value of `23:59:59` is used for `end_time_of_day`.\n\n- If `end_time_of_day` is set and `schedule_end_date` is not set, then\n [INVALID_ARGUMENT](https://cloud.google.com/php/docs/reference/common-protos/latest/Rpc.Code.html#_Google_Rpc_Code__INVALID_ARGUMENT) is returned.\n\n### hasEndTimeOfDay\n\n### clearEndTimeOfDay\n\n### setEndTimeOfDay\n\nThe time in UTC that no further transfer operations are scheduled. Combined\nwith\n[schedule_end_date](/php/docs/reference/cloud-storage-transfer/latest/V1.Schedule#_Google_Cloud_StorageTransfer_V1_Schedule__getScheduleEndDate__),\n`end_time_of_day` specifies the end date and time for starting new transfer\noperations. This field must be greater than or equal to the timestamp\ncorresponding to the combination of\n[schedule_start_date](/php/docs/reference/cloud-storage-transfer/latest/V1.Schedule#_Google_Cloud_StorageTransfer_V1_Schedule__getScheduleStartDate__)\nand\n[start_time_of_day](/php/docs/reference/cloud-storage-transfer/latest/V1.Schedule#_Google_Cloud_StorageTransfer_V1_Schedule__getStartTimeOfDay__),\nand is subject to the following:\n\n- If `end_time_of_day` is not set and `schedule_end_date` is set, then\n a default value of `23:59:59` is used for `end_time_of_day`.\n\n- If `end_time_of_day` is set and `schedule_end_date` is not set, then\n [INVALID_ARGUMENT](https://cloud.google.com/php/docs/reference/common-protos/latest/Rpc.Code.html#_Google_Rpc_Code__INVALID_ARGUMENT) is returned.\n\n### getRepeatInterval\n\nInterval between the start of each scheduled TransferOperation. If\nunspecified, the default value is 24 hours. This value may not be less than\n1 hour.\n\n### hasRepeatInterval\n\n### clearRepeatInterval\n\n### setRepeatInterval\n\nInterval between the start of each scheduled TransferOperation. If\nunspecified, the default value is 24 hours. This value may not be less than\n1 hour."]]