Repository navigation
Expand file tree
/
Copy pathTimeCal.py
More file actions
126 lines (108 loc) · 2.42 KB
/
Copy pathTimeCal.py
File metadata and controls
126 lines (108 loc) · 2.42 KB
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#FileName = TimeCal.py
#By Kazuki Amakawa
#Time Calculation
#TimeCal.GetTime() = Output the time at present as year mouth day hour minute in an internal
#TimeCal.GetNextDay(DayBefore, Day) = year mouth day internal + Day
def GetTime():
import time
TimeStr = time.ctime()
TimeStr += ' '
Space = -1
Jikan = ['', '', '', '']
RemStr = ''
for i in range (0, len(TimeStr)):
if TimeStr[i] == ' ':
if RemStr == '':
continue
else:
if not Space == -1:
Jikan[Space] += RemStr
RemStr = ''
Space += 1
else:
RemStr += TimeStr[i]
ReturnTime = 0
try:
ReturnTime = int(Jikan[3])
except ValueError:
LogWrite('Get time error', '121')
return -1
ReturnTime *= 100
if Jikan[0] == "Jan":
ReturnTime += 1
if Jikan[0] == "Feb":
ReturnTime += 2
if Jikan[0] == "Mar":
ReturnTime += 3
if Jikan[0] == "Apr":
ReturnTime += 4
if Jikan[0] == "May":
ReturnTime += 5
if Jikan[0] == "Jun":
ReturnTime += 6
if Jikan[0] == "Jul":
ReturnTime += 7
if Jikan[0] == "Aug":
ReturnTime += 8
if Jikan[0] == "Sep":
ReturnTime += 9
if Jikan[0] == "Oct":
ReturnTime += 10
if Jikan[0] == "Nov":
ReturnTime += 11
if Jikan[0] == "Dec":
ReturnTime += 12
ReturnTime *= 100
try:
ReturnTime += int(Jikan[1])
except ValueError:
LogWrite('Get time error', '122')
return -1
ReturnTime *= 10000
DokiStr = ''
Kanryou = 0
Jikan[2] += ":"
for i in range (0, len(Jikan[2])):
if Jikan[2][i] == ':':
Kanryou += 1
if Kanryou == 1:
continue
else:
try:
ReturnTime += int(DokiStr)
except ValueError:
LogWrite('Get time error', '123')
return -1
break
else:
DokiStr += Jikan[2][i]
return ReturnTime
def GetNextDay(Time, TimeAdd):
Day = Time % 100
Mouth = ((Time - Day)/100) % 100
Year = int(Time / 10000)
Day += TimeAdd
if Mouth == 2:
if Year % 400 == 0 or (Year % 100 != 0 and Year % 4 == 0):
if Day > 29:
Day -= 29
Mouth += 1
else:
if Day > 28:
Day -= 28
Mouth += 1
if Mouth == 1 or Mouth == 3 or Mouth == 5 or Mouth == 7 or Mouth == 8 or Mouth == 10:
if Day > 31:
Day -= 31
Mouth += 1
if Mouth == 4 or Mouth == 6 or Mouth == 9 or Mouth == 11:
if Day > 30:
Day -= 30
Mouth += 1
if Mouth == 12:
if Day > 31:
Day -= 31
Mouth = (Mouth + 1) % 12
Year += 1
return (Year * 10000 + Mouth * 100 + Day)
#================================================================================================================