blob: d8756d41e4cf001eef7db7ca8e2081861b486df8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
package de.thedevstack.conversationsplus.xmpp.time;
import java.util.Locale;
import java.util.TimeZone;
import de.thedevstack.conversationsplus.generator.AbstractGenerator;
import de.thedevstack.conversationsplus.xml.Element;
import de.thedevstack.conversationsplus.xmpp.stanzas.IqPacket;
/**
* Representation of an software version packet as defined in XEP-0202.
* @see <a href="http://xmpp.org/extensions/xep-0202.html">http://xmpp.org/extensions/xep-0202.html</a>
*/
public class TimePacket extends IqPacket {
public static final String NAMESPACE = "urn:xmpp:time";
TimePacket() {
super(IqPacket.TYPE.RESULT);
Element time = this.addChild("time", NAMESPACE);
final long now = System.currentTimeMillis();
time.addChild("utc").setContent(AbstractGenerator.getTimestamp(now));
TimeZone ourTimezone = TimeZone.getDefault();
long offsetSeconds = ourTimezone.getOffset(now) / 1000;
long offsetMinutes = Math.abs((offsetSeconds % 3600) / 60);
long offsetHours = offsetSeconds / 3600;
String hours;
if (offsetHours < 0) {
hours = String.format(Locale.US, "%03d", offsetHours);
} else {
hours = String.format(Locale.US, "%02d", offsetHours);
}
String minutes = String.format(Locale.US, "%02d", offsetMinutes);
time.addChild("tzo").setContent(hours + ":" + minutes);
}
}
|