|
16 | 16 |
|
17 | 17 | package com.google.cloud; |
18 | 18 |
|
19 | | -import com.google.api.core.BetaApi; |
20 | | -import com.google.common.base.Preconditions; |
21 | | - |
22 | 19 | import java.io.Serializable; |
| 20 | +import java.util.Calendar; |
23 | 21 | import java.util.Objects; |
24 | 22 | import java.util.regex.Matcher; |
25 | 23 | import java.util.regex.Pattern; |
26 | 24 |
|
| 25 | +import com.google.api.core.BetaApi; |
| 26 | +import com.google.common.base.Preconditions; |
| 27 | + |
27 | 28 | /** |
28 | 29 | * Represents a Date without time, such as 2017-03-17. Date is timezone independent. |
29 | 30 | */ |
@@ -69,6 +70,40 @@ public static Date parseDate(String date) { |
69 | 70 | return new Date(year, month, dayOfMonth); |
70 | 71 | } |
71 | 72 |
|
| 73 | + /** |
| 74 | + * Convert a Google Date to a Java Util Date. |
| 75 | + * |
| 76 | + * @param date the date of the Google Date. |
| 77 | + * @return java.util.Date |
| 78 | + */ |
| 79 | + public static java.util.Date toJavaUtilDate(Date date) { |
| 80 | + Calendar cal = Calendar.getInstance(); |
| 81 | + cal.set(Calendar.HOUR_OF_DAY, 0); |
| 82 | + cal.set(Calendar.MINUTE, 0); |
| 83 | + cal.set(Calendar.SECOND, 0); |
| 84 | + cal.set(Calendar.MILLISECOND, 0); |
| 85 | + // Calender.MONTH starts from 0 while G C date starts from 1 |
| 86 | + cal.set(date.year, date.month - 1, date.dayOfMonth); |
| 87 | + return cal.getTime(); |
| 88 | + } |
| 89 | + |
| 90 | + /** |
| 91 | + * Convert a Java Util Date to a Google Date. |
| 92 | + * |
| 93 | + * @param date the date of the java.util.Date |
| 94 | + * @return Google Java Date |
| 95 | + */ |
| 96 | + public static Date fromJavaUtilDate(java.util.Date date) { |
| 97 | + Calendar cal = Calendar.getInstance(); |
| 98 | + cal.setTime(date); |
| 99 | + cal.set(Calendar.HOUR_OF_DAY, 0); |
| 100 | + cal.set(Calendar.MINUTE, 0); |
| 101 | + cal.set(Calendar.SECOND, 0); |
| 102 | + cal.set(Calendar.MILLISECOND, 0); |
| 103 | + // Calender.MONTH starts from 0 while G C date starts from 1 |
| 104 | + return new Date(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH) + 1, cal.get(Calendar.DAY_OF_MONTH)); |
| 105 | + } |
| 106 | + |
72 | 107 | /** Returns the year. */ |
73 | 108 | public int getYear() { |
74 | 109 | return year; |
|
0 commit comments