aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/gnunet/util/AbsoluteTime.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/gnunet/util/AbsoluteTime.java')
-rw-r--r--src/main/java/org/gnunet/util/AbsoluteTime.java46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/main/java/org/gnunet/util/AbsoluteTime.java b/src/main/java/org/gnunet/util/AbsoluteTime.java
index 265abf5..6027198 100644
--- a/src/main/java/org/gnunet/util/AbsoluteTime.java
+++ b/src/main/java/org/gnunet/util/AbsoluteTime.java
@@ -23,7 +23,11 @@ package org.gnunet.util;
23import org.slf4j.Logger; 23import org.slf4j.Logger;
24import org.slf4j.LoggerFactory; 24import org.slf4j.LoggerFactory;
25 25
26import java.text.ParseException;
27import java.text.SimpleDateFormat;
28import java.util.Calendar;
26import java.util.Date; 29import java.util.Date;
30import java.util.GregorianCalendar;
27 31
28/** 32/**
29 * A specific point in time. 33 * A specific point in time.
@@ -270,4 +274,46 @@ public class AbsoluteTime implements Comparable<AbsoluteTime> {
270 public long getSeconds() { 274 public long getSeconds() {
271 return abs_value_us / (1000 * 1000); 275 return abs_value_us / (1000 * 1000);
272 } 276 }
277
278 public static AbsoluteTime fromSeconds(long stamp) {
279 return new AbsoluteTime(stamp * 1000 * 1000);
280 }
281
282 public String toFancyString() {
283 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
284 return sdf.format(new Date(getMilliseconds()));
285 }
286
287 private long getMilliseconds() {
288 return abs_value_us / 1000;
289 }
290
291 public static AbsoluteTime fromString(String s) {
292 Date date = null;
293
294 try {
295 SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd HH:mm:ss");
296 date = sdf.parse(s);
297 return new AbsoluteTime(date.getTime() * 1000);
298 } catch (ParseException e) {
299 // try next format
300 }
301
302 try {
303 SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd HH:mm");
304 date = sdf.parse(s);
305 return new AbsoluteTime(date.getTime() * 1000);
306 } catch (ParseException e) {
307 // try next format
308 }
309
310 try {
311 SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd");
312 date = sdf.parse(s);
313 return new AbsoluteTime(date.getTime() * 1000);
314 } catch (ParseException e) {
315 // try next format
316 }
317 return null;
318 }
273} 319}