Class DateTimeTimeZone

java.lang.Object
com.independentsoft.graph.DateTimeTimeZone
All Implemented Interfaces:
ICreatable, IUpdatable

public class DateTimeTimeZone extends Object implements ICreatable, IUpdatable
Represents a date and time with time zone information in Microsoft Graph.

DateTimeTimeZone is used throughout Microsoft Graph to represent date/time values with explicit time zone information. This is particularly important for calendar events, reminders, and scheduled operations where time zone context matters.

The time zone name should follow the IANA Time Zone Database format (e.g., "America/New_York", "Europe/London", "UTC").

Example usage:

 // Create a date/time in specific time zone
 Date startDate = new Date();
 DateTimeTimeZone startTime = new DateTimeTimeZone(startDate, "America/Los_Angeles");
 
 // Use in a calendar event
 Event event = new Event();
 event.setStart(startTime);
 
 DateTimeTimeZone endTime = new DateTimeTimeZone(
     new Date(startDate.getTime() + 3600000), // +1 hour
     "America/Los_Angeles"
 );
 event.setEnd(endTime);
 
Since:
1.0
See Also:
dateTimeTimeZone resource type
  • Constructor Details

    • DateTimeTimeZone

      public DateTimeTimeZone()
      Default constructor. Time zone defaults to UTC.
    • DateTimeTimeZone

      public DateTimeTimeZone(Date time)
      Constructs a DateTimeTimeZone with the specified time in UTC.
      Parameters:
      time - The date and time
    • DateTimeTimeZone

      public DateTimeTimeZone(Date time, String timeZoneName)
      Constructs a DateTimeTimeZone with time and time zone.
      Parameters:
      time - The date and time
      timeZoneName - The time zone name (IANA format, e.g., "America/New_York")
    • DateTimeTimeZone

      public DateTimeTimeZone(JsonObject jsonObject)
      Constructs a DateTimeTimeZone from a JSON object.
      Parameters:
      jsonObject - The JSON object containing date/time data
  • Method Details

    • toCreateJson

      public String toCreateJson()
      Description copied from interface: ICreatable
      Converts this object to its JSON representation for creation.

      This method generates a JSON string containing all properties needed to create a new instance of this resource in Microsoft Graph. Only properties appropriate for creation should be included (e.g., excluding read-only properties like ID, createdTime, etc.).

      Specified by:
      toCreateJson in interface ICreatable
      Returns:
      JSON string representation for creating this resource
    • toUpdateJson

      public String toUpdateJson()
      Description copied from interface: IUpdatable
      Converts this object to its JSON representation for update.

      This method generates a JSON string containing all modified properties that should be updated in Microsoft Graph. Only writeable properties with non-null values are typically included.

      Specified by:
      toUpdateJson in interface IUpdatable
      Returns:
      JSON string representation for updating this resource
    • toUpdateJson

      public String toUpdateJson(List<String> propertyNames)
      Description copied from interface: IUpdatable
      Converts this object to JSON for update with specific properties.

      This method generates a JSON string containing only the specified properties. This enables partial updates where only certain fields need to be modified, reducing payload size and avoiding unintended changes to other properties.

      Specified by:
      toUpdateJson in interface IUpdatable
      Parameters:
      propertyNames - List of property names to include in the JSON. If null or empty, all modified properties are included.
      Returns:
      JSON string representation for updating specific properties
    • getTime

      public Date getTime()
    • setTime

      public void setTime(Date time)
    • getTimeZoneName

      public String getTimeZoneName()
    • setTimeZoneName

      public void setTimeZoneName(String timeZoneName)