Date and Time Pickers support UTC and timezones.
+ +:::warning +UTC and timezone support is an ongoing topic. + +Only `AdapterDayjs`, `AdapterLuxon` and `AdapterMoment` are currently compatible with UTC dates and timezones. +::: + +## Overview + +By default, the components will always use the timezone of your `value` / `defaultValue` prop: + +{{"demo": "BasicValueProp.js", "defaultCodeOpen": false}} + +You can use the `timezone` prop to explicitly define the timezone in which the value should be rendered: + +{{"demo": "BasicTimezoneProp.js"}} + +This will be needed if the component has no `value` or `defaultValue` to deduct the timezone from it or if you don't want to render the value in its original timezone. + +## Supported timezones + +| Timezone | Description | +| ------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `"UTC"` | Will use the [Coordinated Universal Time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time) | +| `"default"` | Will use the default timezone of your date library, this value can be set usingviews
list.",
"views": "Available views.",
diff --git a/docs/translations/api-docs/date-pickers/date-field.json b/docs/translations/api-docs/date-pickers/date-field.json
index 636b722b561c1..898f7b9cc2fb2 100644
--- a/docs/translations/api-docs/date-pickers/date-field.json
+++ b/docs/translations/api-docs/date-pickers/date-field.json
@@ -41,6 +41,7 @@
"slotProps": "The props used for each component slot.",
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"unstableFieldRef": "The ref object used to imperatively interact with the field.",
"value": "The selected value. Used when the component is controlled.",
"variant": "The variant to use."
diff --git a/docs/translations/api-docs/date-pickers/date-picker.json b/docs/translations/api-docs/date-pickers/date-picker.json
index 56109ba55eac0..67ef207657e87 100644
--- a/docs/translations/api-docs/date-pickers/date-picker.json
+++ b/docs/translations/api-docs/date-pickers/date-picker.json
@@ -48,6 +48,7 @@
"slotProps": "The props used for each component slot.",
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled.",
"view": "The visible view. Used when the component view is controlled. Must be a valid option from views
list.",
"viewRenderers": "Define custom view renderers for each section. If null
, the section will only have field editing. If undefined
, internally defined view will be the used.",
diff --git a/docs/translations/api-docs/date-pickers/date-range-calendar.json b/docs/translations/api-docs/date-pickers/date-range-calendar.json
index 33e72ee7f7506..e0e8233d58cfd 100644
--- a/docs/translations/api-docs/date-pickers/date-range-calendar.json
+++ b/docs/translations/api-docs/date-pickers/date-range-calendar.json
@@ -33,6 +33,7 @@
"slotProps": "The props used for each component slot.",
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled."
},
"classDescriptions": {
diff --git a/docs/translations/api-docs/date-pickers/date-range-picker.json b/docs/translations/api-docs/date-pickers/date-range-picker.json
index 4eae2029ac733..28495c6ca00a6 100644
--- a/docs/translations/api-docs/date-pickers/date-range-picker.json
+++ b/docs/translations/api-docs/date-pickers/date-range-picker.json
@@ -48,6 +48,7 @@
"slotProps": "The props used for each component slot.",
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled.",
"viewRenderers": "Define custom view renderers for each section. If null
, the section will only have field editing. If undefined
, internally defined view will be the used."
},
diff --git a/docs/translations/api-docs/date-pickers/date-time-field.json b/docs/translations/api-docs/date-pickers/date-time-field.json
index 24c8569888126..98c19d2095122 100644
--- a/docs/translations/api-docs/date-pickers/date-time-field.json
+++ b/docs/translations/api-docs/date-pickers/date-time-field.json
@@ -50,6 +50,7 @@
"slotProps": "The props used for each component slot.",
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"unstableFieldRef": "The ref object used to imperatively interact with the field.",
"value": "The selected value. Used when the component is controlled.",
"variant": "The variant to use."
diff --git a/docs/translations/api-docs/date-pickers/date-time-picker.json b/docs/translations/api-docs/date-pickers/date-time-picker.json
index 030e67379dfb7..a6f6f96639d68 100644
--- a/docs/translations/api-docs/date-pickers/date-time-picker.json
+++ b/docs/translations/api-docs/date-pickers/date-time-picker.json
@@ -60,6 +60,7 @@
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
"timeSteps": "The time steps between two time unit options. For example, if timeStep.minutes = 8
, then the available minute options will be [0, 8, 16, 24, 32, 40, 48, 56]
. When single column time renderer is used, only timeStep.minutes
will be used.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled.",
"view": "The visible view. Used when the component view is controlled. Must be a valid option from views
list.",
"viewRenderers": "Define custom view renderers for each section. If null
, the section will only have field editing. If undefined
, internally defined view will be the used.",
diff --git a/docs/translations/api-docs/date-pickers/desktop-date-picker.json b/docs/translations/api-docs/date-pickers/desktop-date-picker.json
index 6805ae374b6e3..24e6b1e863e0d 100644
--- a/docs/translations/api-docs/date-pickers/desktop-date-picker.json
+++ b/docs/translations/api-docs/date-pickers/desktop-date-picker.json
@@ -47,6 +47,7 @@
"slotProps": "The props used for each component slot.",
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled.",
"view": "The visible view. Used when the component view is controlled. Must be a valid option from views
list.",
"viewRenderers": "Define custom view renderers for each section. If null
, the section will only have field editing. If undefined
, internally defined view will be the used.",
diff --git a/docs/translations/api-docs/date-pickers/desktop-date-range-picker.json b/docs/translations/api-docs/date-pickers/desktop-date-range-picker.json
index fcb403f421994..5a3224897efef 100644
--- a/docs/translations/api-docs/date-pickers/desktop-date-range-picker.json
+++ b/docs/translations/api-docs/date-pickers/desktop-date-range-picker.json
@@ -47,6 +47,7 @@
"slotProps": "The props used for each component slot.",
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled.",
"viewRenderers": "Define custom view renderers for each section. If null
, the section will only have field editing. If undefined
, internally defined view will be the used."
},
diff --git a/docs/translations/api-docs/date-pickers/desktop-date-time-picker.json b/docs/translations/api-docs/date-pickers/desktop-date-time-picker.json
index dc964f4f2a309..726f9612f8084 100644
--- a/docs/translations/api-docs/date-pickers/desktop-date-time-picker.json
+++ b/docs/translations/api-docs/date-pickers/desktop-date-time-picker.json
@@ -59,6 +59,7 @@
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
"timeSteps": "The time steps between two time unit options. For example, if timeStep.minutes = 8
, then the available minute options will be [0, 8, 16, 24, 32, 40, 48, 56]
. When single column time renderer is used, only timeStep.minutes
will be used.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled.",
"view": "The visible view. Used when the component view is controlled. Must be a valid option from views
list.",
"viewRenderers": "Define custom view renderers for each section. If null
, the section will only have field editing. If undefined
, internally defined view will be the used.",
diff --git a/docs/translations/api-docs/date-pickers/desktop-time-picker.json b/docs/translations/api-docs/date-pickers/desktop-time-picker.json
index b9595c59407d6..127f3a2f8d3bd 100644
--- a/docs/translations/api-docs/date-pickers/desktop-time-picker.json
+++ b/docs/translations/api-docs/date-pickers/desktop-time-picker.json
@@ -41,6 +41,7 @@
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
"thresholdToRenderTimeInASingleColumn": "Amount of time options below or at which the single column time renderer is used.",
"timeSteps": "The time steps between two time unit options. For example, if timeStep.minutes = 8
, then the available minute options will be [0, 8, 16, 24, 32, 40, 48, 56]
. When single column time renderer is used, only timeStep.minutes
will be used.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled.",
"view": "The visible view. Used when the component view is controlled. Must be a valid option from views
list.",
"viewRenderers": "Define custom view renderers for each section. If null
, the section will only have field editing. If undefined
, internally defined view will be the used.",
diff --git a/docs/translations/api-docs/date-pickers/digital-clock.json b/docs/translations/api-docs/date-pickers/digital-clock.json
index d3e4551ff6a9d..ea2298693ff7c 100644
--- a/docs/translations/api-docs/date-pickers/digital-clock.json
+++ b/docs/translations/api-docs/date-pickers/digital-clock.json
@@ -27,6 +27,7 @@
"slots": "Overrideable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
"timeStep": "The time steps between two time options. For example, if timeStep = 45
, then the available time options will be [00:00, 00:45, 01:30, 02:15, 03:00, etc.]
.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled.",
"view": "The visible view. Used when the component view is controlled. Must be a valid option from views
list.",
"views": "Available views."
diff --git a/docs/translations/api-docs/date-pickers/mobile-date-picker.json b/docs/translations/api-docs/date-pickers/mobile-date-picker.json
index 39cc63d8ccdd1..5fdd17ca62a05 100644
--- a/docs/translations/api-docs/date-pickers/mobile-date-picker.json
+++ b/docs/translations/api-docs/date-pickers/mobile-date-picker.json
@@ -47,6 +47,7 @@
"slotProps": "The props used for each component slot.",
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled.",
"view": "The visible view. Used when the component view is controlled. Must be a valid option from views
list.",
"viewRenderers": "Define custom view renderers for each section. If null
, the section will only have field editing. If undefined
, internally defined view will be the used.",
diff --git a/docs/translations/api-docs/date-pickers/mobile-date-range-picker.json b/docs/translations/api-docs/date-pickers/mobile-date-range-picker.json
index 701ec35c9c46d..6fab0218e5957 100644
--- a/docs/translations/api-docs/date-pickers/mobile-date-range-picker.json
+++ b/docs/translations/api-docs/date-pickers/mobile-date-range-picker.json
@@ -47,6 +47,7 @@
"slotProps": "The props used for each component slot.",
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled.",
"viewRenderers": "Define custom view renderers for each section. If null
, the section will only have field editing. If undefined
, internally defined view will be the used."
},
diff --git a/docs/translations/api-docs/date-pickers/mobile-date-time-picker.json b/docs/translations/api-docs/date-pickers/mobile-date-time-picker.json
index b2cd4eea330fc..9204c67dda1cc 100644
--- a/docs/translations/api-docs/date-pickers/mobile-date-time-picker.json
+++ b/docs/translations/api-docs/date-pickers/mobile-date-time-picker.json
@@ -57,6 +57,7 @@
"slotProps": "The props used for each component slot.",
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled.",
"view": "The visible view. Used when the component view is controlled. Must be a valid option from views
list.",
"viewRenderers": "Define custom view renderers for each section. If null
, the section will only have field editing. If undefined
, internally defined view will be the used.",
diff --git a/docs/translations/api-docs/date-pickers/mobile-time-picker.json b/docs/translations/api-docs/date-pickers/mobile-time-picker.json
index a10cee3d339dd..9b3aa443fa86b 100644
--- a/docs/translations/api-docs/date-pickers/mobile-time-picker.json
+++ b/docs/translations/api-docs/date-pickers/mobile-time-picker.json
@@ -38,6 +38,7 @@
"slotProps": "The props used for each component slot.",
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled.",
"view": "The visible view. Used when the component view is controlled. Must be a valid option from views
list.",
"viewRenderers": "Define custom view renderers for each section. If null
, the section will only have field editing. If undefined
, internally defined view will be the used.",
diff --git a/docs/translations/api-docs/date-pickers/month-calendar.json b/docs/translations/api-docs/date-pickers/month-calendar.json
index 511157b8d8a72..c2be234553e7b 100644
--- a/docs/translations/api-docs/date-pickers/month-calendar.json
+++ b/docs/translations/api-docs/date-pickers/month-calendar.json
@@ -11,11 +11,12 @@
"maxDate": "Maximal selectable date.",
"minDate": "Minimal selectable date.",
"monthsPerRow": "Months rendered per row.",
- "onChange": "Callback fired when the value changes.function(value: TDate | null) => void
function(value: TDate) => void
true
picker is readonly",
"referenceDate": "The date used to generate the new value when both value
and defaultValue
are empty.",
"shouldDisableMonth": "Disable specific month.function(month: TDate) => boolean
true
, the month will be disabled.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled."
},
"classDescriptions": { "root": { "description": "Styles applied to the root element." } },
diff --git a/docs/translations/api-docs/date-pickers/multi-input-date-range-field.json b/docs/translations/api-docs/date-pickers/multi-input-date-range-field.json
index ce721e6ca1e8d..7dd09ad10a31b 100644
--- a/docs/translations/api-docs/date-pickers/multi-input-date-range-field.json
+++ b/docs/translations/api-docs/date-pickers/multi-input-date-range-field.json
@@ -25,6 +25,7 @@
"slots": "Overridable component slots.",
"spacing": "Defines the space between immediate children.",
"sx": "The system prop, which allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"useFlexGap": "If true
, the CSS flexbox gap
is used instead of applying margin
to children.gap
removes the known limitations, it is not fully supported in some browsers. We recommend checking https://caniuse.com/?search=flex%20gap before using this flag.true
, the CSS flexbox gap
is used instead of applying margin
to children.gap
removes the known limitations, it is not fully supported in some browsers. We recommend checking https://caniuse.com/?search=flex%20gap before using this flag.true
, the CSS flexbox gap
is used instead of applying margin
to children.gap
removes the known limitations, it is not fully supported in some browsers. We recommend checking https://caniuse.com/?search=flex%20gap before using this flag.timeStep.minutes = 8
, then the available minute options will be [0, 8, 16, 24, 32, 40, 48, 56]
.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled.",
"view": "The visible view. Used when the component view is controlled. Must be a valid option from views
list.",
"views": "Available views."
diff --git a/docs/translations/api-docs/date-pickers/single-input-date-range-field.json b/docs/translations/api-docs/date-pickers/single-input-date-range-field.json
index b6cc30d08e16f..b4e9256527953 100644
--- a/docs/translations/api-docs/date-pickers/single-input-date-range-field.json
+++ b/docs/translations/api-docs/date-pickers/single-input-date-range-field.json
@@ -39,6 +39,7 @@
"slotProps": "The props used for each component slot.",
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"unstableFieldRef": "The ref object used to imperatively interact with the field.",
"value": "The selected value. Used when the component is controlled.",
"variant": "The variant to use."
diff --git a/docs/translations/api-docs/date-pickers/single-input-date-time-range-field.json b/docs/translations/api-docs/date-pickers/single-input-date-time-range-field.json
index ea5c2438f3810..bb2b5d2902bc8 100644
--- a/docs/translations/api-docs/date-pickers/single-input-date-time-range-field.json
+++ b/docs/translations/api-docs/date-pickers/single-input-date-time-range-field.json
@@ -48,6 +48,7 @@
"slotProps": "The props used for each component slot.",
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"unstableFieldRef": "The ref object used to imperatively interact with the field.",
"value": "The selected value. Used when the component is controlled.",
"variant": "The variant to use."
diff --git a/docs/translations/api-docs/date-pickers/single-input-time-range-field.json b/docs/translations/api-docs/date-pickers/single-input-time-range-field.json
index 51fbd8eae2f23..fcacca70028d0 100644
--- a/docs/translations/api-docs/date-pickers/single-input-time-range-field.json
+++ b/docs/translations/api-docs/date-pickers/single-input-time-range-field.json
@@ -43,6 +43,7 @@
"slotProps": "The props used for each component slot.",
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"unstableFieldRef": "The ref object used to imperatively interact with the field.",
"value": "The selected value. Used when the component is controlled.",
"variant": "The variant to use."
diff --git a/docs/translations/api-docs/date-pickers/static-date-picker.json b/docs/translations/api-docs/date-pickers/static-date-picker.json
index b19625eb1dd63..00c029c5de78e 100644
--- a/docs/translations/api-docs/date-pickers/static-date-picker.json
+++ b/docs/translations/api-docs/date-pickers/static-date-picker.json
@@ -38,6 +38,7 @@
"slotProps": "The props used for each component slot.",
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled.",
"view": "The visible view. Used when the component view is controlled. Must be a valid option from views
list.",
"viewRenderers": "Define custom view renderers for each section. If null
, the section will only have field editing. If undefined
, internally defined view will be the used.",
diff --git a/docs/translations/api-docs/date-pickers/static-date-range-picker.json b/docs/translations/api-docs/date-pickers/static-date-range-picker.json
index 75f1a06919c10..fba23292071fe 100644
--- a/docs/translations/api-docs/date-pickers/static-date-range-picker.json
+++ b/docs/translations/api-docs/date-pickers/static-date-range-picker.json
@@ -38,6 +38,7 @@
"slotProps": "The props used for each component slot.",
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled.",
"viewRenderers": "Define custom view renderers for each section. If null
, the section will only have field editing. If undefined
, internally defined view will be the used."
},
diff --git a/docs/translations/api-docs/date-pickers/static-date-time-picker.json b/docs/translations/api-docs/date-pickers/static-date-time-picker.json
index ff5b28374d199..5b2187ebbf2b2 100644
--- a/docs/translations/api-docs/date-pickers/static-date-time-picker.json
+++ b/docs/translations/api-docs/date-pickers/static-date-time-picker.json
@@ -48,6 +48,7 @@
"slotProps": "The props used for each component slot.",
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled.",
"view": "The visible view. Used when the component view is controlled. Must be a valid option from views
list.",
"viewRenderers": "Define custom view renderers for each section. If null
, the section will only have field editing. If undefined
, internally defined view will be the used.",
diff --git a/docs/translations/api-docs/date-pickers/static-time-picker.json b/docs/translations/api-docs/date-pickers/static-time-picker.json
index 5562584cadb9c..f97706928f392 100644
--- a/docs/translations/api-docs/date-pickers/static-time-picker.json
+++ b/docs/translations/api-docs/date-pickers/static-time-picker.json
@@ -29,6 +29,7 @@
"slotProps": "The props used for each component slot.",
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled.",
"view": "The visible view. Used when the component view is controlled. Must be a valid option from views
list.",
"viewRenderers": "Define custom view renderers for each section. If null
, the section will only have field editing. If undefined
, internally defined view will be the used.",
diff --git a/docs/translations/api-docs/date-pickers/time-clock.json b/docs/translations/api-docs/date-pickers/time-clock.json
index 30a0928eda130..bcce1ef33b7f3 100644
--- a/docs/translations/api-docs/date-pickers/time-clock.json
+++ b/docs/translations/api-docs/date-pickers/time-clock.json
@@ -26,6 +26,7 @@
"slotProps": "The props used for each component slot.",
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled.",
"view": "The visible view. Used when the component view is controlled. Must be a valid option from views
list.",
"views": "Available views."
diff --git a/docs/translations/api-docs/date-pickers/time-field.json b/docs/translations/api-docs/date-pickers/time-field.json
index 51fbd8eae2f23..fcacca70028d0 100644
--- a/docs/translations/api-docs/date-pickers/time-field.json
+++ b/docs/translations/api-docs/date-pickers/time-field.json
@@ -43,6 +43,7 @@
"slotProps": "The props used for each component slot.",
"slots": "Overridable component slots.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"unstableFieldRef": "The ref object used to imperatively interact with the field.",
"value": "The selected value. Used when the component is controlled.",
"variant": "The variant to use."
diff --git a/docs/translations/api-docs/date-pickers/time-picker.json b/docs/translations/api-docs/date-pickers/time-picker.json
index 9a59c1244b73e..0020fac014837 100644
--- a/docs/translations/api-docs/date-pickers/time-picker.json
+++ b/docs/translations/api-docs/date-pickers/time-picker.json
@@ -42,6 +42,7 @@
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
"thresholdToRenderTimeInASingleColumn": "Amount of time options below or at which the single column time renderer is used.",
"timeSteps": "The time steps between two time unit options. For example, if timeStep.minutes = 8
, then the available minute options will be [0, 8, 16, 24, 32, 40, 48, 56]
. When single column time renderer is used, only timeStep.minutes
will be used.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled.",
"view": "The visible view. Used when the component view is controlled. Must be a valid option from views
list.",
"viewRenderers": "Define custom view renderers for each section. If null
, the section will only have field editing. If undefined
, internally defined view will be the used.",
diff --git a/docs/translations/api-docs/date-pickers/year-calendar.json b/docs/translations/api-docs/date-pickers/year-calendar.json
index f02ba4c4bca36..00f5172ed486d 100644
--- a/docs/translations/api-docs/date-pickers/year-calendar.json
+++ b/docs/translations/api-docs/date-pickers/year-calendar.json
@@ -10,11 +10,12 @@
"disablePast": "If true
, disable values before the current date for date components, time for time components and both for date time components.",
"maxDate": "Maximal selectable date.",
"minDate": "Minimal selectable date.",
- "onChange": "Callback fired when the value changes.function(value: TDate | null) => void
function(value: TDate) => void
true
picker is readonly",
"referenceDate": "The date used to generate the new value when both value
and defaultValue
are empty.",
"shouldDisableYear": "Disable specific year.function(year: TDate) => boolean
true
, the year will be disabled.",
"sx": "The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.",
+ "timezone": "Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documention for more details.",
"value": "The selected value. Used when the component is controlled.",
"yearsPerRow": "Years rendered per row."
},
diff --git a/packages/x-date-pickers-pro/src/DateRangeCalendar/DateRangeCalendar.tsx b/packages/x-date-pickers-pro/src/DateRangeCalendar/DateRangeCalendar.tsx
index e26a6c5168f7f..c38b28db2d094 100644
--- a/packages/x-date-pickers-pro/src/DateRangeCalendar/DateRangeCalendar.tsx
+++ b/packages/x-date-pickers-pro/src/DateRangeCalendar/DateRangeCalendar.tsx
@@ -2,7 +2,6 @@ import * as React from 'react';
import PropTypes from 'prop-types';
import clsx from 'clsx';
import useEventCallback from '@mui/utils/useEventCallback';
-import useControlled from '@mui/utils/useControlled';
import useMediaQuery from '@mui/material/useMediaQuery';
import { resolveComponentProps } from '@mui/base/utils';
import { styled, useThemeProps } from '@mui/material/styles';
@@ -30,6 +29,7 @@ import {
UncapitalizeObjectKeys,
DEFAULT_DESKTOP_MODE_MEDIA_QUERY,
buildWarning,
+ useControlledValueWithTimezone,
} from '@mui/x-date-pickers/internals';
import { getReleaseInfo } from '../internal/utils/releaseInfo';
import {
@@ -158,10 +158,6 @@ const DateRangeCalendar = React.forwardRef(function DateRangeCalendar