Java tutorial
/** * * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. * */ package com.microsoft.rest; import org.joda.time.DateTime; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; import java.util.Locale; /** * Simple wrapper over joda.time.DateTime used for specifying RFC1123 format during serialization/deserialization. */ public class DateTimeRfc1123 { /** * The pattern of the datetime used for RFC1123 datetime format. */ private static final DateTimeFormatter RFC1123_DATE_TIME_FORMATTER = DateTimeFormat .forPattern("EEE, dd MMM yyyy HH:mm:ss 'GMT'").withZoneUTC().withLocale(Locale.US); /** * The actual datetime object. */ private final DateTime dateTime; /** * Creates a new DateTimeRfc1123 object with the specified DateTime. * @param dateTime The DateTime object to wrap. */ public DateTimeRfc1123(DateTime dateTime) { this.dateTime = dateTime; } /** * Creates a new DateTimeRfc1123 object with the specified DateTime. * @param formattedString The datetime string in RFC1123 format */ public DateTimeRfc1123(String formattedString) { this.dateTime = DateTime.parse(formattedString, RFC1123_DATE_TIME_FORMATTER); } /** * Returns the underlying DateTime. * @return The underlying DateTime. */ public DateTime getDateTime() { return this.dateTime; } @Override public String toString() { return RFC1123_DATE_TIME_FORMATTER.print(this.dateTime); } @Override public int hashCode() { return this.dateTime.hashCode(); } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (!(obj instanceof DateTimeRfc1123)) { return false; } DateTimeRfc1123 rhs = (DateTimeRfc1123) obj; return this.dateTime.equals(rhs.getDateTime()); } }