File Source: relativedate.java
/*
P/P * Method: net.sourceforge.pebble.util.RelativeDate__static_init
*/
1 /*
2 * Copyright (c) 2003-2006, Simon Brown
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 *
8 * - Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 *
11 * - Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in
13 * the documentation and/or other materials provided with the
14 * distribution.
15 *
16 * - Neither the name of Pebble nor the names of its contributors may
17 * be used to endorse or promote products derived from this software
18 * without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
24 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 * POSSIBILITY OF SUCH DAMAGE.
31 */
32 package net.sourceforge.pebble.util;
33
34 /**
35 * Represents a relative date (the time since something happened).
36 *
37 * @author Simon Brown
38 */
39 public class RelativeDate {
40
41 private static final long SECOND = 1000;
42 private static final long MINUTE = SECOND * 60;
43 private static final long HOUR = MINUTE * 60;
44 private static final long DAY = HOUR * 24;
45
46 /** the number of milliseconds */
47 private long time;
48
49 /**
50 * Creates a new instance with the specified time.
51 *
52 * @param time a number of milliseconds
53 */
/*
P/P * Method: void net.sourceforge.pebble.util.RelativeDate(long)
*
* Postconditions:
* this.time == time
* init'ed(this.time)
*/
54 public RelativeDate(long time) {
55 this.time = time;
56 }
57
58 public long getDays() {
/*
P/P * Method: long getDays()
*
* Preconditions:
* init'ed(this.time)
*
* Postconditions:
* return_value == this.time/86_400_000
* return_value in -106_751_991_167..213_503_982_334
*/
59 return time / DAY;
60 }
61
62 public long getHours() {
/*
P/P * Method: long getHours()
*
* Preconditions:
* init'ed(this.time)
*
* Postconditions:
* return_value == (this.time%86_400_000)/3_600_000
* return_value in -23..23
*/
63 return (time % DAY) / HOUR;
64 }
65
66 public long getMinutes() {
/*
P/P * Method: long getMinutes()
*
* Preconditions:
* init'ed(this.time)
*
* Postconditions:
* return_value == ((this.time%86_400_000)%3_600_000)/60_000
* return_value in -59..59
*/
67 return ((time % DAY) % HOUR) / MINUTE;
68 }
69
70 public long getSeconds() {
/*
P/P * Method: long getSeconds()
*
* Preconditions:
* init'ed(this.time)
*
* Postconditions:
* return_value == (((this.time%86_400_000)%3_600_000)%60_000)/1_000
* return_value in -59..59
*/
71 return (((time % DAY) % HOUR) % MINUTE) / SECOND;
72 }
73
74 }
SofCheck Inspector Build Version : 2.22510
| relativedate.java |
2010-Jun-25 19:40:32 |
| relativedate.class |
2010-Jul-19 20:23:38 |