Spaces:
Runtime error
Runtime error
Tran Xuan Huy
commited on
Commit
•
93e25da
1
Parent(s):
a0f537c
Upload something.py
Browse files- something.py +469 -0
something.py
ADDED
@@ -0,0 +1,469 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
output2url = {
|
3 |
+
'hni_ngày': '/pages/screen/6215',
|
4 |
+
'dni_ngày': '/pages/screen/6376',
|
5 |
+
'idc_tháng': '/pages/screen/3195',
|
6 |
+
'qbh_ngày': '/pages/screen/6338',
|
7 |
+
'tnn_ngày': '/pages/screen/6295',
|
8 |
+
'pyn_ngày': '/pages/screen/6340',
|
9 |
+
'vtc_ngày': '/pages/screen/2690',
|
10 |
+
'dcn_tháng': '/pages/screen/6546',
|
11 |
+
'vtu_tháng': '/pages/screen/6409',
|
12 |
+
'hậu giang_ngày': '/pages/screen/6401',
|
13 |
+
'bkn_ngày': '/pages/screen/6166',
|
14 |
+
'bpc_tháng': '/pages/screen/6525',
|
15 |
+
'ldg_ngày': '/pages/screen/6377',
|
16 |
+
'tỉnh/tp_ngày': '/pages/screen/4434',
|
17 |
+
'vcm_tháng': '/pages/screen/3110',
|
18 |
+
'pto_tháng': '/pages/screen/6541',
|
19 |
+
'tqg_ngày': '/pages/screen/6277',
|
20 |
+
'long an_ngày': '/pages/screen/6435',
|
21 |
+
'tvh_ngày': '/pages/screen/6275',
|
22 |
+
'hdg_ngày': '/pages/screen/6415',
|
23 |
+
'hni_tháng': '/pages/screen/6475',
|
24 |
+
'vts_ngày': '/pages/screen/3229',
|
25 |
+
'vtm_tháng': '/pages/screen/3097',
|
26 |
+
'tbh_tháng': '/pages/screen/6516',
|
27 |
+
'hyn_ngày': '/pages/screen/6400',
|
28 |
+
'vtp_ngày': '/pages/screen/2741',
|
29 |
+
'qnh_tháng': '/pages/screen/6522',
|
30 |
+
'nbh_ngày': '/pages/screen/6345',
|
31 |
+
'td_ngày': '/pages/screen/2354',
|
32 |
+
'nat_ngày': '/pages/screen/2919',
|
33 |
+
'vtx_tháng': '/pages/screen/4895',
|
34 |
+
'vts_tháng': '/pages/screen/3235',
|
35 |
+
'tnn_tháng': '/pages/screen/6498',
|
36 |
+
'vcm_ngày': '/pages/screen/3105',
|
37 |
+
'kgg_tháng': '/pages/screen/6575',
|
38 |
+
'nbh_tháng': '/pages/screen/6530',
|
39 |
+
'vpc_ngày': '/pages/screen/6164',
|
40 |
+
'vtpost_ngày': '/pages/screen/3030',
|
41 |
+
'vtm_ngày': '/pages/screen/3092',
|
42 |
+
'hcm_tháng': '/pages/screen/6476',
|
43 |
+
'tgg_tháng': '/pages/screen/6412',
|
44 |
+
'mov_ngày': '/pages/screen/2761',
|
45 |
+
'vtg_tháng': '/pages/screen/2945',
|
46 |
+
'stg_ngày': '/pages/screen/6316',
|
47 |
+
'kon tum_tháng': '/pages/screen/6560',
|
48 |
+
'bgg_tháng': '/pages/screen/6519',
|
49 |
+
'bte_tháng': '/pages/screen/6526',
|
50 |
+
'kgg_ngày': '/pages/screen/6456',
|
51 |
+
'vtcc_ngày': '/pages/screen/3216',
|
52 |
+
'gli_ngày': '/pages/screen/6349',
|
53 |
+
'tnh_tháng': '/pages/screen/6411',
|
54 |
+
'vdtc_tháng': '/pages/screen/3077',
|
55 |
+
'vds_tháng': '/pages/screen/3055',
|
56 |
+
'vlg_tháng': '/pages/screen/6496',
|
57 |
+
'qnh_ngày': '/pages/screen/6357',
|
58 |
+
'hth_tháng': '/pages/screen/6579',
|
59 |
+
'bnh_tháng': '/pages/screen/6539',
|
60 |
+
'nan_ngày': '/pages/screen/6346',
|
61 |
+
'ntn_tháng': '/pages/screen/6542',
|
62 |
+
'bdh_ngày': '/pages/screen/6235',
|
63 |
+
'idc_ngày': '/pages/screen/3189',
|
64 |
+
'xmcp_tháng': '/pages/screen/3126',
|
65 |
+
'hcm_ngày': '/pages/screen/6161',
|
66 |
+
'qni_tháng': '/pages/screen/6521',
|
67 |
+
'stl_tháng': '/pages/screen/2804',
|
68 |
+
'bkn_tháng': '/pages/screen/6537',
|
69 |
+
'long an_tháng': '/pages/screen/6558',
|
70 |
+
'mov_tháng': '/pages/screen/2772',
|
71 |
+
'stg_tháng': '/pages/screen/6414',
|
72 |
+
'hth_ngày': '/pages/screen/6405',
|
73 |
+
'vtz_tháng': '/pages/screen/2898',
|
74 |
+
'ndh_ngày': '/pages/screen/6343',
|
75 |
+
'myn_tháng': '/pages/screen/5149',
|
76 |
+
'pto_ngày': '/pages/screen/6341',
|
77 |
+
'bdg_tháng': '/pages/screen/6515',
|
78 |
+
'lci_ngày': '/pages/screen/6352',
|
79 |
+
'bdh_tháng': '/pages/screen/6518',
|
80 |
+
'ct_tháng': '/pages/screen/3042',
|
81 |
+
'ctm_tháng': '/pages/screen/9682',
|
82 |
+
'bte_ngày': '/pages/screen/6315',
|
83 |
+
'tgg_ngày': '/pages/screen/6170',
|
84 |
+
'sla_ngày': '/pages/screen/6318',
|
85 |
+
'dtp_ngày': '/pages/screen/6347',
|
86 |
+
'hue_tháng': '/pages/screen/6578',
|
87 |
+
'hv_tháng': '/pages/screen/5524',
|
88 |
+
'hue_ngày': '/pages/screen/6404',
|
89 |
+
'bgg_ngày': '/pages/screen/6167',
|
90 |
+
'bpc_ngày': '/pages/screen/6171',
|
91 |
+
'cbg_ngày': '/pages/screen/6335',
|
92 |
+
'hbh_tháng': '/pages/screen/6517',
|
93 |
+
'vtsport_tháng': '/pages/screen/5512',
|
94 |
+
'vbd_tháng': '/pages/screen/2878',
|
95 |
+
'vtpost_tháng': '/pages/screen/3021',
|
96 |
+
'n_tháng': '/pages/screen/6532',
|
97 |
+
'qti_tháng': '/pages/screen/6536',
|
98 |
+
'hgg_tháng': '/pages/screen/6595',
|
99 |
+
'vtp_tháng': '/pages/screen/2866',
|
100 |
+
'bdg_ngày': '/pages/screen/6165',
|
101 |
+
'pyn_tháng': '/pages/screen/6524',
|
102 |
+
'hdg_tháng': '/pages/screen/6552',
|
103 |
+
'qti_ngày': '/pages/screen/6173',
|
104 |
+
'xmcp_ngày': '/pages/screen/3132',
|
105 |
+
'dlk_tháng': '/pages/screen/6635',
|
106 |
+
'btn_ngày': '/pages/screen/6317',
|
107 |
+
'bnh_ngày': '/pages/screen/6169',
|
108 |
+
'stl_ngày': '/pages/screen/2827',
|
109 |
+
'vtk_ngày': '/pages/screen/5279',
|
110 |
+
'ct_ngày': '/pages/screen/3048',
|
111 |
+
'cto_ngày': '/pages/screen/6336',
|
112 |
+
'kha_ngày': '/pages/screen/6455',
|
113 |
+
'lcu_tháng': '/pages/screen/6556',
|
114 |
+
'lci_tháng': '/pages/screen/6548',
|
115 |
+
'tỉnh/tp_tháng': '/pages/screen/4546',
|
116 |
+
'tha_tháng': '/pages/screen/6499',
|
117 |
+
'gli_tháng': '/pages/screen/6553',
|
118 |
+
'myn_ngày': '/pages/screen/5133',
|
119 |
+
'tnh_ngày': '/pages/screen/6296',
|
120 |
+
'qni_ngày': '/pages/screen/6356',
|
121 |
+
'tqg_tháng': '/pages/screen/6497',
|
122 |
+
'lcu_ngày': '/pages/screen/6350',
|
123 |
+
'cmu_ngày': '/pages/screen/6355',
|
124 |
+
'blu_ngày': '/pages/screen/6276',
|
125 |
+
'hgg_ngày': '/pages/screen/6399',
|
126 |
+
'hậu giang_tháng': '/pages/screen/6577',
|
127 |
+
'qnm_ngày': '/pages/screen/6174',
|
128 |
+
'vtg_ngày': '/pages/screen/2958',
|
129 |
+
'dng_tháng': '/pages/screen/6616',
|
130 |
+
'blu_tháng': '/pages/screen/6523',
|
131 |
+
'ctm_ngày': '/pages/screen/9668',
|
132 |
+
'lsn_tháng': '/pages/screen/6547',
|
133 |
+
'vtc_tháng': '/pages/screen/2701',
|
134 |
+
'vtcc_tháng': '/pages/screen/3223',
|
135 |
+
'vtl_ngày': '/pages/screen/2749',
|
136 |
+
'lsn_ngày': '/pages/screen/6348',
|
137 |
+
'sla_tháng': '/pages/screen/6535',
|
138 |
+
'hnm_ngày': '/pages/screen/6402',
|
139 |
+
'dtp_tháng': '/pages/screen/6554',
|
140 |
+
'vcs_ngày': '/pages/screen/3178',
|
141 |
+
'vdtc_ngày': '/pages/screen/3067',
|
142 |
+
'nat_tháng': '/pages/screen/2910',
|
143 |
+
'cto_tháng': '/pages/screen/6544',
|
144 |
+
'dng_ngày': '/pages/screen/6344',
|
145 |
+
'vtnet_tháng': '/pages/screen/5503',
|
146 |
+
'hnm_tháng': '/pages/screen/6549',
|
147 |
+
'hyn_tháng': '/pages/screen/6576',
|
148 |
+
'vpc_tháng': '/pages/screen/6495',
|
149 |
+
'hbh_ngày': '/pages/screen/6353',
|
150 |
+
'td_tháng': '/pages/screen/2425',
|
151 |
+
'cmu_tháng': '/pages/screen/6529',
|
152 |
+
'n_ngày': '/pages/screen/6337',
|
153 |
+
'ldg_tháng': '/pages/screen/6555',
|
154 |
+
'vht_tháng': '/pages/screen/3266',
|
155 |
+
'qnm_tháng': '/pages/screen/6520',
|
156 |
+
'vam_tháng': '/pages/screen/5528',
|
157 |
+
'vtl_tháng': '/pages/screen/2816',
|
158 |
+
'vlg_ngày': '/pages/screen/6255',
|
159 |
+
'agg_tháng': '/pages/screen/6413',
|
160 |
+
'vmc_tháng': '/pages/screen/8744',
|
161 |
+
'kha_tháng': '/pages/screen/6561',
|
162 |
+
'ndh_tháng': '/pages/screen/6543',
|
163 |
+
'btn_tháng': '/pages/screen/6540',
|
164 |
+
'kon tum_ngày': '/pages/screen/6436',
|
165 |
+
'qbh_tháng': '/pages/screen/6538',
|
166 |
+
'vds_ngày': '/pages/screen/3059',
|
167 |
+
'hải phòng_ngày': '/pages/screen/6403',
|
168 |
+
'ntn_ngày': '/pages/screen/6342',
|
169 |
+
'cbg_tháng': '/pages/screen/6527',
|
170 |
+
'vcs_tháng': '/pages/screen/3183',
|
171 |
+
'tha_ngày': '/pages/screen/6168',
|
172 |
+
'vtu_ngày': '/pages/screen/6162',
|
173 |
+
'vtt_ngày': '/pages/screen/2667',
|
174 |
+
'agg_ngày': '/pages/screen/6163',
|
175 |
+
'vtz_ngày': '/pages/screen/2887',
|
176 |
+
'vtk_tháng': '/pages/screen/3101',
|
177 |
+
'dlk_ngày': '/pages/screen/6375',
|
178 |
+
'vtt_tháng': '/pages/screen/2679',
|
179 |
+
'dcn_ngày': '/pages/screen/6339',
|
180 |
+
'ybi_tháng': '/pages/screen/6406',
|
181 |
+
'tbh_ngày': '/pages/screen/6172',
|
182 |
+
'tvh_tháng': '/pages/screen/6410',
|
183 |
+
'hpg_tháng': '/pages/screen/6580',
|
184 |
+
'ybi_ngày': '/pages/screen/6216',
|
185 |
+
'vbd_ngày': '/pages/screen/2855',
|
186 |
+
'nan_tháng': '/pages/screen/6533'
|
187 |
+
}
|
188 |
+
|
189 |
+
def time2date(input):
|
190 |
+
chu_ky_thoi_gian = input['CHU KỲ THỜI GIAN']
|
191 |
+
thu = input['THỨ']
|
192 |
+
ngay = input['NGÀY']
|
193 |
+
tuan = input['TUẦN']
|
194 |
+
thang = input['THÁNG']
|
195 |
+
quy = input['QUÝ']
|
196 |
+
nam = input['NĂM']
|
197 |
+
import datetime
|
198 |
+
import calendar
|
199 |
+
from dateutil.relativedelta import relativedelta
|
200 |
+
current_date = datetime.date.today()
|
201 |
+
output = 'error'
|
202 |
+
if chu_ky_thoi_gian=='ngày':
|
203 |
+
# hôm kia
|
204 |
+
if ngay=='hôm kia':
|
205 |
+
output = current_date - datetime.timedelta(days=2)
|
206 |
+
# hôm qua
|
207 |
+
elif ngay=='hôm qua':
|
208 |
+
output = current_date - datetime.timedelta(days=1)
|
209 |
+
# hôm nay
|
210 |
+
elif ngay=='hôm nay':
|
211 |
+
output = current_date
|
212 |
+
# ngày mai
|
213 |
+
elif ngay=='mai':
|
214 |
+
output = current_date + datetime.timedelta(days=1)
|
215 |
+
# ngày kia
|
216 |
+
elif ngay=='kia':
|
217 |
+
output = current_date + datetime.timedelta(days=2)
|
218 |
+
# đầu
|
219 |
+
elif ngay=='đầu':
|
220 |
+
if thang=='trước':
|
221 |
+
needed_thang = 12 if current_date.month==1 else current_date.month-1
|
222 |
+
needed_nam = current_date.year-1 if current_date.month==1 else current_date.year
|
223 |
+
output = datetime.date(
|
224 |
+
needed_nam,
|
225 |
+
needed_thang,
|
226 |
+
1
|
227 |
+
)
|
228 |
+
elif thang=='này':
|
229 |
+
needed_thang = current_date.month
|
230 |
+
needed_nam = current_date.year
|
231 |
+
output = datetime.date(
|
232 |
+
needed_nam,
|
233 |
+
needed_thang,
|
234 |
+
1
|
235 |
+
)
|
236 |
+
elif thang=='sau':
|
237 |
+
needed_thang = 1 if current_date.month==12 else current_date.month+1
|
238 |
+
needed_nam = current_date.year+1 if current_date.month==12 else current_date.year
|
239 |
+
output = datetime.date(
|
240 |
+
needed_nam,
|
241 |
+
needed_thang,
|
242 |
+
1
|
243 |
+
)
|
244 |
+
else:
|
245 |
+
print('ngày đầu')
|
246 |
+
output = current_date
|
247 |
+
# cuối
|
248 |
+
elif ngay=='cuối':
|
249 |
+
if thang=='trước':
|
250 |
+
needed_thang = 12 if current_date.month==1 else current_date.month-1
|
251 |
+
needed_nam = current_date.year-1 if current_date.month==1 else current_date.year
|
252 |
+
output = datetime.date(
|
253 |
+
needed_nam,
|
254 |
+
needed_thang,
|
255 |
+
calendar.monthrange(needed_nam, needed_thang)[1]
|
256 |
+
)
|
257 |
+
elif thang=='này':
|
258 |
+
needed_thang = current_date.month
|
259 |
+
needed_nam = current_date.year
|
260 |
+
output = datetime.date(
|
261 |
+
needed_nam,
|
262 |
+
needed_thang,
|
263 |
+
calendar.monthrange(needed_nam, needed_thang)[1]
|
264 |
+
)
|
265 |
+
elif thang=='sau':
|
266 |
+
needed_thang = 1 if current_date.month==12 else current_date.month+1
|
267 |
+
needed_nam = current_date.year+1 if current_date.month==12 else current_date.year
|
268 |
+
output = datetime.date(
|
269 |
+
needed_nam,
|
270 |
+
needed_thang,
|
271 |
+
calendar.monthrange(needed_nam, needed_thang)[1]
|
272 |
+
)
|
273 |
+
else:
|
274 |
+
print('ngày cuối')
|
275 |
+
output = current_date
|
276 |
+
# xxx
|
277 |
+
elif ngay.isdigit():
|
278 |
+
ngay = int(ngay)
|
279 |
+
if thang.isdigit():
|
280 |
+
thang = int(thang)
|
281 |
+
if nam.isdigit():
|
282 |
+
nam = int(nam)
|
283 |
+
try:
|
284 |
+
output = datetime.date(nam, thang, ngay)
|
285 |
+
except ValueError:
|
286 |
+
print("ngày xxx tháng yyy nam xxx")
|
287 |
+
output = current_date
|
288 |
+
else:
|
289 |
+
try:
|
290 |
+
output = datetime.date(current_date.year, thang, ngay)
|
291 |
+
except ValueError:
|
292 |
+
print("ngày xxx tháng yyy nam xxx")
|
293 |
+
output = current_date
|
294 |
+
else:
|
295 |
+
try:
|
296 |
+
output = datetime.date(current_date.year, current_date.month, ngay)
|
297 |
+
except ValueError:
|
298 |
+
print('ngày xxx')
|
299 |
+
output = current_date
|
300 |
+
elif ngay=='khác':
|
301 |
+
# thứ hai tuần sau
|
302 |
+
# thứ hai tuần này
|
303 |
+
# thứ hai tuần trước
|
304 |
+
# thứ hai tuần gần nhất
|
305 |
+
# thứ hai
|
306 |
+
if thu != "khác":
|
307 |
+
if tuan=='khác' or tuan=='gần nhất':
|
308 |
+
current_thu = current_date.weekday()+2
|
309 |
+
input_thu = 8 if thu=='chủ nhật' else int(thu)
|
310 |
+
if input_thu < current_thu:
|
311 |
+
daydelta = current_thu - input_thu
|
312 |
+
output = current_date - datetime.timedelta(days=daydelta)
|
313 |
+
elif input_thu == current_thu:
|
314 |
+
output = current_date - datetime.timedelta(days=7)
|
315 |
+
else:
|
316 |
+
daydelta = input_thu - current_thu
|
317 |
+
output = current_date - datetime.timedelta(days=7-daydelta)
|
318 |
+
elif tuan=='này':
|
319 |
+
current_thu = current_date.weekday()+2
|
320 |
+
input_thu = 8 if thu=='chủ nhật' else int(thu)
|
321 |
+
if input_thu < current_thu:
|
322 |
+
daydelta = current_thu - input_thu
|
323 |
+
output = current_date - datetime.timedelta(days=daydelta)
|
324 |
+
elif input_thu == current_thu:
|
325 |
+
output = current_date
|
326 |
+
else:
|
327 |
+
daydelta = input_thu - current_thu
|
328 |
+
output = current_date + datetime.timedelta(days=daydelta)
|
329 |
+
elif tuan=='trước':
|
330 |
+
current_thu = current_date.weekday()+2
|
331 |
+
input_thu = 8 if thu=='chủ nhật' else int(thu)
|
332 |
+
if input_thu < current_thu:
|
333 |
+
daydelta = current_thu - input_thu + 7
|
334 |
+
output = current_date - datetime.timedelta(days=daydelta)
|
335 |
+
elif input_thu == current_thu:
|
336 |
+
output = current_date - datetime.timedelta(days=7)
|
337 |
+
else:
|
338 |
+
daydelta = input_thu - current_thu
|
339 |
+
output = current_date - datetime.timedelta(days=7-daydelta)
|
340 |
+
elif tuan=='sau':
|
341 |
+
current_thu = current_date.weekday()+2
|
342 |
+
input_thu = 8 if thu=='chủ nhật' else int(thu)
|
343 |
+
if input_thu < current_thu:
|
344 |
+
daydelta = 7 - (current_thu - input_thu)
|
345 |
+
output = current_date + datetime.timedelta(days=daydelta)
|
346 |
+
elif input_thu == current_thu:
|
347 |
+
output = current_date + datetime.timedelta(days=7)
|
348 |
+
else:
|
349 |
+
daydelta = input_thu - current_thu
|
350 |
+
output = current_date + datetime.timedelta(days=7+daydelta)
|
351 |
+
elif thu=='khác':
|
352 |
+
current_thu = current_date.weekday()
|
353 |
+
if tuan=='trước' or tuan=='gần nhất': # ngày cuối tuần
|
354 |
+
daydelta = current_thu+1
|
355 |
+
output = current_date - datetime.timedelta(days=daydelta)
|
356 |
+
elif tuan=='này':
|
357 |
+
daydelta = 6 - current_thu
|
358 |
+
if daydelta > 0:
|
359 |
+
output = current_date + datetime.timedelta(days=daydelta)
|
360 |
+
else:
|
361 |
+
output = current_date
|
362 |
+
elif tuan=='sau':
|
363 |
+
daydelta = 13 - current_thu
|
364 |
+
output = current_date + datetime.timedelta(days=daydelta)
|
365 |
+
else:
|
366 |
+
print('ngày khác thứ khác tuần khác')
|
367 |
+
output = current_date
|
368 |
+
else: # return default for ngay
|
369 |
+
output = current_date
|
370 |
+
print('Error chu ky thoi gian: ngay')
|
371 |
+
|
372 |
+
elif chu_ky_thoi_gian=='tháng': # ngày cuối tháng
|
373 |
+
if thu != 'khác' or ngay != 'khác' or tuan != 'khác':
|
374 |
+
print('Invalid')
|
375 |
+
needed_thang = 12 if current_date.month==1 else current_date.month-1
|
376 |
+
needed_nam = current_date.year-1 if current_date.month==1 else current_date.year
|
377 |
+
output = datetime.date(
|
378 |
+
needed_nam,
|
379 |
+
needed_thang,
|
380 |
+
calendar.monthrange(needed_nam, needed_thang)[1]
|
381 |
+
)
|
382 |
+
|
383 |
+
elif thang=='trước':
|
384 |
+
needed_thang = 12 if current_date.month==1 else current_date.month-1
|
385 |
+
needed_nam = current_date.year-1 if current_date.month==1 else current_date.year
|
386 |
+
output = datetime.date(
|
387 |
+
needed_nam,
|
388 |
+
needed_thang,
|
389 |
+
calendar.monthrange(needed_nam, needed_thang)[1]
|
390 |
+
)
|
391 |
+
elif thang=='này':
|
392 |
+
needed_thang = current_date.month
|
393 |
+
needed_nam = current_date.year
|
394 |
+
output = datetime.date(
|
395 |
+
needed_nam,
|
396 |
+
needed_thang,
|
397 |
+
calendar.monthrange(needed_nam, needed_thang)[1]
|
398 |
+
)
|
399 |
+
elif thang=='sau':
|
400 |
+
needed_thang = 1 if current_date.month==12 else current_date.month+1
|
401 |
+
needed_nam = current_date.year+1 if current_date.month==12 else current_date.year
|
402 |
+
output = datetime.date(
|
403 |
+
needed_nam,
|
404 |
+
needed_thang,
|
405 |
+
calendar.monthrange(needed_nam, needed_thang)[1]
|
406 |
+
)
|
407 |
+
elif thang.isdigit():
|
408 |
+
thang = int(thang)
|
409 |
+
if nam.isdigit():
|
410 |
+
nam = int(nam)
|
411 |
+
output = datetime.date(
|
412 |
+
int(nam),
|
413 |
+
int(thang),
|
414 |
+
calendar.monthrange(int(nam), int(thang))[1]
|
415 |
+
)
|
416 |
+
else:
|
417 |
+
if thang > current_date.month:
|
418 |
+
output = datetime.date(
|
419 |
+
current_date.year-1,
|
420 |
+
thang,
|
421 |
+
calendar.monthrange(current_date.year-1, thang)[1]
|
422 |
+
)
|
423 |
+
else:
|
424 |
+
output = datetime.date(
|
425 |
+
current_date.year,
|
426 |
+
thang,
|
427 |
+
calendar.monthrange(current_date.year, thang)[1]
|
428 |
+
)
|
429 |
+
elif thang=='khác':
|
430 |
+
needed_thang = 12 if current_date.month==1 else current_date.month-1
|
431 |
+
needed_nam = current_date.year-1 if current_date.month==1 else current_date.year
|
432 |
+
output = datetime.date(
|
433 |
+
needed_nam,
|
434 |
+
needed_thang,
|
435 |
+
calendar.monthrange(needed_nam, needed_thang)[1]
|
436 |
+
)
|
437 |
+
else: # ngay cuoi thang truoc
|
438 |
+
needed_thang = 12 if current_date.month==1 else current_date.month-1
|
439 |
+
needed_nam = current_date.year-1 if current_date.month==1 else current_date.year
|
440 |
+
output = datetime.date(
|
441 |
+
needed_nam,
|
442 |
+
needed_thang,
|
443 |
+
calendar.monthrange(needed_nam, needed_thang)[1]
|
444 |
+
)
|
445 |
+
print('Error chu ky thoi gian: thang')
|
446 |
+
elif chu_ky_thoi_gian=='quý':
|
447 |
+
if quy in ['1', '2', '3', '4', 'I', 'II', 'III', 'IV']:
|
448 |
+
output = "Valid"
|
449 |
+
output = current_date
|
450 |
+
# print('Chu ky thoi gian: quy ' + quy)
|
451 |
+
else:
|
452 |
+
output = "Invalid"
|
453 |
+
output = current_date
|
454 |
+
# print('Error chu ky thoi gian: quy')
|
455 |
+
elif chu_ky_thoi_gian=='năm':
|
456 |
+
if nam.isdigit():
|
457 |
+
output = "Valid"
|
458 |
+
output = current_date
|
459 |
+
# print("Chu ky thoi gian: nam " + nam)
|
460 |
+
else:
|
461 |
+
output = "Invalid"
|
462 |
+
output = current_date
|
463 |
+
# print('Error chu ky thoi gian: năm')
|
464 |
+
elif chu_ky_thoi_gian=='khác':
|
465 |
+
output = "Valid"
|
466 |
+
output = current_date
|
467 |
+
else:
|
468 |
+
output = current_date
|
469 |
+
return output
|