2017.03.26 07:00:05 Logger-03 s=1 - 2017.03.26
02:00 - ins=60, dup= 0 (good=60, bad= 0) 2017.03.26 07:00:05 Logger-03 s=1 - 2017.03.26 03:00 - ins= 0, dup=60 (good=60, bad= 0) 2017.03.26 07:00:06 Logger-03 s=1 - 2017.03.26 04:00 - ins=60, dup= 0 (good=60, bad= 0) 2017.03.26 08:00:01 Logger-01 s=1 - 2017.03.26 02:00 - ins=60, dup= 0 (good=60, bad= 0) 2017.03.26 08:00:01 Logger-01 s=2 - 2017.03.26 02:00 - ins=60, dup= 0 (good=60, bad= 0) 2017.03.26 08:00:01 Logger-01 s=1 - 2017.03.26 03:00 - ins= 0, dup=60 (good=60, bad= 0) 2017.03.26 08:00:01 Logger-01 s=2 - 2017.03.26 03:00 - ins= 0, dup=60 (good=60, bad= 0) 2017.03.26 08:00:01 Logger-01 s=1 - 2017.03.26 04:00 - ins=60, dup= 0 (good=60, bad= 0) 2017.03.26 08:00:01 Logger-01 s=2 - 2017.03.26 04:00 - ins=60, dup= 0 (good=60, bad= 0) 2017.03.26 09:38:49 Logger-02 s=1 - 2017.03.26 02:00 - ins=60, dup= 0 (good=60, bad= 0) 2017.03.26 09:38:49 Logger-02 s=1 - 2017.03.26 03:00 - ins= 0, dup=60 (good=60, bad= 0) 2017.03.26 09:38:49 Logger-02 s=1 - 2017.03.26 04:00 - ins=60, dup= 0 (good=60, bad= 0) 2017.03.26 11:00:06 Logger-04 s=1 - 2017.03.26 02:00 - ins=60, dup= 0 (good=60, bad= 0) 2017.03.26 11:00:06 Logger-04 s=1 - 2017.03.26 03:00 - ins= 0, dup=60 (good=60, bad= 0) 2017.03.26 11:00:06 Logger-04 s=1 - 2017.03.26 04:00 - ins=60, dup= 0 (good=60, bad= 0) |
SELECT * FROM Dump WHERE location=5 AND
(timestamp+60 NOT IN (SELECT timestamp FROM Dump WHERE
location=5)) |
dede@i5:~> python Python 2.7.12 (default, Jul 01 2016, 15:36:53) [GCC] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import datetime >>> int(datetime.datetime(2017, 3, 26, 1, 59, 59).strftime("%s")) 1490489999 >>> int(datetime.datetime(2017, 3, 26, 2, 0, 0).strftime("%s")) 1490490000 >>> int(datetime.datetime(2017, 3, 26, 2, 0, 1).strftime("%s")) 1490490001 >>> int(datetime.datetime(2017, 3, 26, 2, 59, 59).strftime("%s")) 1490493599 >>> int(datetime.datetime(2017, 3, 26, 3, 0, 0).strftime("%s")) 1490490000 >>> int(datetime.datetime(2017, 3, 26, 3, 0, 1).strftime("%s")) 1490490001 |
UTC |
Weltzeit, aka GMT, aka Zulu-Zeit, keine
Umstellung auf Sommer-/Winter-Zeit |
MEZ |
Mitteleuropäische Zeit, aka CET, Winterzeit,
Normalzeit, UTC+1 |
MESZ |
Mitteleuropäische Sommerzeit, aka CEST, aka
CET DST, UTC+2 |
Ortszeit |
aka Zonenzeit,
die Zeit in einer Zeitzone inkl. Sommer-/Winter-Zeit |
Unixzeit |
Sekunden seit "01.01.1970 00:00:00" |
Schaltsekunde |
sporadisch eingefügte Sekunde in die Weltzeit |
def getNormTime(precise=False): [....] now=datetime.datetime.now() if time.localtime().tm_isdst==1: now=now+datetime.timedelta(hours=-1) return(now.strftime("%Y.%m.%d %H:%M:%S")) |
def getNormTime(precise=False): [....] return(datetime.datetime.utcnow().strftime("%Y.%m.%d %H:%M:%S")) |
INSERT INTO
Dump
in einen UNIX-Timestamp wandelt, der in UTC ist.dede@i5:~> python Python 2.7.12 (default, Jul 01 2016, 15:36:53) [GCC] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import datetime >>> import time >>> time.tzname ('CET', 'CEST') >>> time.daylight 1 >>> time.localtime().tm_isdst 1 >>> int(datetime.datetime(1970, 1, 1, 0, 0, 0).strftime("%s")) -3600 >>> datetime.datetime.fromtimestamp(0) datetime.datetime(1970, 1, 1, 1, 0) >>> datetime.datetime.fromtimestamp(1483622580) datetime.datetime(2017, 1, 5, 14, 23) >>> datetime.datetime.fromtimestamp(1490723940) datetime.datetime(2017, 3, 28, 19, 59) >>> >>> >>> int((datetime.datetime(2017, 3, 28, 20, 0)-datetime.datetime(1970, 1, 1)).total_seconds()) 1490731200 >>> datetime.datetime.utcfromtimestamp(1490731200) datetime.datetime(2017, 3, 28, 20, 0) >>> int((datetime.datetime(2017, 1, 28, 20, 0)-datetime.datetime(1970, 1, 1)).total_seconds()) 1485633600 >>> datetime.datetime.utcfromtimestamp(1485633600) datetime.datetime(2017, 1, 28, 20, 0) >>> >>> >>> int((datetime.datetime(2017, 3, 26, 2, 59, 59)-datetime.datetime(1970, 1, 1)).total_seconds()) 1490497199 >>> int((datetime.datetime(2017, 3, 26, 3, 0, 0)-datetime.datetime(1970, 1, 1)).total_seconds()) 1490497200 |
strftime("%s")
.SELECT datetime(0, 'unixepoch'), datetime(0,
'unixepoch', 'localtime') --> "1970-01-01 00:00:00","1970-01-01 01:00:00" SELECT datetime(1483622580, 'unixepoch'), datetime(1483622580, 'unixepoch', 'localtime') --> "2017-01-05 13:23:00","2017-01-05 14:23:00" SELECT datetime(1490723940, 'unixepoch'), datetime(1490723940, 'unixepoch', 'localtime') --> "2017-03-28 17:59:00","2017-03-28 19:59:00" SELECT datetime(1490731200, 'unixepoch'), datetime(1485633600, 'unixepoch') --> "2017-03-28 20:00:00","2017-01-28 20:00:00" |
>>> int((datetime.datetime(2017, 1,
5, 13, 23, 0)-datetime.datetime(1970, 1,
1)).total_seconds()) 1483622580 |
>>> int((datetime.datetime(2017, 3,
28, 18, 59, 0)-datetime.datetime(1970, 1,
1)).total_seconds()) 1490727540 >>> datetime.datetime.utcfromtimestamp(1490727540) datetime.datetime(2017, 3, 28, 18, 59) >>> datetime.datetime.fromtimestamp(1490727540) datetime.datetime(2017, 3, 28, 20, 59) SELECT datetime(1490727540, 'unixepoch'), datetime(1490727540, 'unixepoch', 'localtime') --> "2017-03-28 18:59:00","2017-03-28 20:59:00" |
strftime("%s")
automatisch von MEZ auf MESZ umgeschaltet hat.1490489940 |
1490490000 |
1490490060 |
1490493540 |
1490493600 |
1490493660 |
|
+60 |
+60 |
+58*60 |
+60 |
+60 |
||
UTC |
00:59 |
01:00 |
01:01 |
01:59 |
02:00 |
02:01 |
MEZ |
01:59 |
{02:00} |
{02:01} |
{02:59} |
||
MESZ |
03:00 | 03:01 |
03:59 |
04:00 |
04:01 |
strftime("%s")
läuft offensichtlich bis 02:59:59
in MEZ, ab 03:00:00 läuft er in MESZ.UPDATE Dump SET timestamp=timestamp+3600 WHERE timestamp>=1490493600 |
UPDATE Dump SET timestamp=-(timestamp+3600)
WHERE timestamp>=1490493600 UPDATE Dump SET timestamp=-timestamp WHERE timestamp<1 |
d=datetime.datetime(year, month, day, hour,
minute, 0) int(d.strftime("%s")) |
d=int((datetime.datetime(year, month, day, hour, minute)-datetime.datetime(1970, 1, 1)).total_seconds())-3600 |
>>> d=int((datetime.datetime(2017, 3,
26, 3, 0)-datetime.datetime(1970, 1,
1)).total_seconds())-3600 >>> d 1490493600 |
>>> d1=datetime.datetime(2017, 3, 26,
4, 0, 0) >>> d2=datetime.datetime(2017, 3, 25, 4, 0, 0) >>> >>> int((d1-d2).total_seconds()) 86400 >>> >>> int(d1.strftime("%s"))-int(d2.strftime("%s")) 82800 >>> >>> d0=datetime.datetime(1970, 1, 1) >>> int((d1-d0).total_seconds())-int((d2-d0).total_seconds()) 86400 >>> 60*60*24 86400 |