Datums noklusējumus - Ko katrs programmētājs ir jāzina
Iesniegts saskaņā ar: Classic ASP , Programmēšana 101 , SQL Server
Dažus gadus atpakaļ, kad es sāku programmēšana mans pirmais uzdevums bija kods iekštīklam sistēma jāspēj sanāksmes un dažus uzdevumus darbiniekiem, bija visu dienu, pamatojoties uz kalendārā. Tas bija pirms es zināju, ko varu SQL Server 2000 (un tagad 2005/2008) bija un cik viegli tas strādā šīs sistēmas.
MS Access (kas mainījies daudz kopš 1999) bija viens plaisāt. Tas vienmēr tur datumu formāti mm / dd / gggg (Amerika ir "pasaules" hahahahaha), tāpēc tas, kas manu darba vietu arvien grūtāk mēģinot apstrādāt datumus Dienvidāfrikas balstās laiks (dd / mm / gggg)
I cīnījās grūti izprast bezkaunīgs akts, uz kuru MS Access butchered mans datums izejvielām, bet es nevarēju palīdzēt bet domāju, ka tas nevar notikt uz visiem programmētājiem!
Pēc tam no sirds sāpes daudz un no bezmiega naktis daudz es beidzot atrada sudraba aizzīme ar vilkacis, kas bija MS Access (un citiem serveriem visā pasaulē, kas darbojas ar dažādām laika joslu iestatījumiem)
dd-MMM-GGGG! Tulko: 01-Jan-1999, piemēram, jūs varat ievietot jebkurā datumā ar 100% galvot, ka jūsu miega VEIDā garantēta. Šī universālā datuma formātu būs strādāt jebkurā (jā izlasiet to! JEBKURU) datu bāzes zināms, ka cilvēks un pat ja jūsu izejas dati var izskatīsies 1999/09/02 datu bāzē, tas vienmēr ievietotu pareizo datumu pareizā formātā datubāze neatkarīgi no tā, ko laika joslu serveri ir iestatīts uz!
Classic ASP exampes no nolasījuma datums, kas ir:
1
| date ( ) ) & amp ; "-" & amp ; Left ( MonthName ( Month ( Date ( ) ) ) , 3 ) & amp ; "-" & amp ; Year ( Date ( ) ) Diena (datums ()) & amp; "-" & amp; kreiso (MonthName (Month (Date ())), 3) un amp; "-" & amp; Gads (Date ()) |
SQL Server piemērs varētu izmantot DateName vietā MonthName (kas var būt saīsinātā bez Kreisais () funkciju, man bija izmantot ASP) un, protams, datumu () = getdate () SQL Server ![]()
Es vienmēr ieteikt lasījumā to no datu bāzes (ja iespējams) ar uzkrāto procedūras pareizu formāts, kas sākas ar. Bet tas ir atkarīgs no jums izlemt, kā izmantot šo gem zināšanu es vienkārši izmet pie jums. Un, ja jūs lasījumā šo domāšana "Bet man jau zināja to!", Tad padomājiet vēlreiz. Diemžēl, 2009, joprojām ir diezgan maz programmētāju nespēj saprast vienkāršus jēdzienus, piemēram, timezones un datuma pārkraušanu.
Atcerieties, kids. Making kļūdas, ja jūs joprojām jauns spēles ir viena lieta. Brandishing CV (Resume) 3 gadu + pieredzi un joprojām veic šīs kļūdas ir tikai plain wrong ... jūs izvēlējāties joma, par kuru jums ir attīstīties un meklēt atbildes pastāvīgi, nav nemainīgs ... I'll spokoties Jūsu sapņi, ja jūs ![]()













































