Dumjais lācis un paitōns
- 2009.02.27. 12:10
- Techy
Vakar pavadīju aptuveni trīsdesmit minūtes, lai atrisinātu neskaidru problēmu. Īsumā – SQL serveris pie UPDATE vaicājuma paziņoja, ka kaut kāda vērtība ir ārpus pieļaujamajām robežām.
Microsoft Dynamics AX datubāzē datums tiek rakstīts kā normāls DATETIME lauks. Bet, kā izrādās (ja ticēt integratoriem), laiks, savukārt, ir jāraksta atsevišķā kolonnā. Nebūtu jau nekas tāds nenormāli baiss, ja Axapta nepieprasītu laiku rakstīt kā parastu skaitli, kurš norāda sekundes kopš pusnakts (!).
Tālāk jau sekoja ātrs uzrakstījums (jo optimālāku metodi nemeklēju).
zakainop.transactiontime = \ notification.ts.strftime('%H') * 60 * 60 + \ notification.ts.strftime('%M')) * 60 + \ notification.ts.strftime('%S')
Vai jums šķiet, ka es panācu vēlamo rezultātu? Jo rezultātā ieguvu teksta virkni, kurā stundas atkārtojās 3600 reizes, minūtes – 60 reizes un sekundes bija vienu reizi galā. Ibo, visiem (arī man bija) zināms sekojošais.
'kaka' * 2 # Būs 'kakakaka'
Lieki piebilst, ka es par to biju piemirsis un neiedomājos, ka overflow iestājas ikurāt šā iemesla dēļ. Vēlējos tikai pazīmēties, cik dažreiz esmu dumjš.

Komentāri (9)
Lūk, ar ko Python draņķīgāks par Javu – Javā tādus “prikolus” neizdarīsi…
offtopic, bet pamaini enkodingu http://laacz.lv/tmp/loc.php :)
Uz intu vajadzeja konvertet:
int(notification.ts.strftime(‘%H’))
python, to takš es sapratu :)
Ģirt: Pitonu tak nevar salīdzināt ar Javu. Tās ir divas dažādas kategorijas. Tikpat labi varēji teikt, ka Lūk ar ko Python draņķīgāks par Paskālu (vai C++, vai C#).
Te jau drīzāk bija jāsaka – lūk līdz kam cilvēkus noved PHP.
rokas nost no Paskaala!
ja notification.ts ir standarta python datetime tad
ts.hour * 3600 + ts.minute * 60 + ts.second
bet vislielākais pārsteigums ka Dynamics runā pythonā o_O
Man pat loģiski domājot nenāk prātā kā ir iespējams sareizināt simbolu virkni ar ciparu – tas ir kaut kā neloģiski, jā – php principā ir bērnu valoda, lai arī bērni var iemācīties web-prōgrammmēšānu.
tas viss man bija skaidrs jau uzreiz. tev taisnība – esi dumjš
Ierakstīt savu sakāmo