Impostazioni predefinite Data - Che cosa ogni programmatore dovrebbe conoscere
Archiviato in: Classic ASP , Programmazione 101 , SQL Server
A pochi anni fa quando ho iniziato a programmare il mio primo compito fu di codice di un sistema intranet in grado di tracciare le riunioni e taluni dipendenti compiti ha fatto durante tutta la giornata in base on uno calendar. Questo era prima che sapessi che cosa potere di SQL Server 2000 (e ora 2005/2008) avevano e quanto fosse facile lavorare all'interno di tali sistemi.
MS Access (che ha cambiato molto dal 1999) aveva un problema. E 'sempre mantenuto i formati di data in gg / mm / aaaa (L'America è il "mondo" hahahahaha), quindi questo fatto il mio lavoro sempre più difficile cercare di gestire le date in un momento in Sudafrica based (gg / mm / aaaa)
Ho lottato duramente per capire l'atto vergognoso a cui MS Access macellata miei input data, ma non ho potuto fare a meno di pensare che questo non può avvenire a tutti i programmatori!
Dopo un sacco di mal di cuore e un sacco di notti insonni ho finalmente trovato la pallottola d'argento per il lupo mannaro che è stato MS Access (e di altri server in tutto il mondo in esecuzione su impostazioni di fuso orario differente)
dd-MMM-aaaa! Tradotto in: 01-gen-1999 per esempio, è possibile inserire qualsiasi data con il 100% di fideiussione che il vostro sonno sarà garantito. Questo formato di data universale funzionerà in qualsiasi (sì avete letto! QUALSIASI) database conosciuto per l'uomo e anche se i dati grezzi può assomigliare 1999/09/02 nel database, sarà sempre inserire la data corretta nel formato corretto in la banca dati indipendentemente da ciò fuso orario del server è impostato su!
Classic ASP exampes di leggere la data di fuori è il seguente:
1
| date ( ) ) & amp ; "-" & amp ; Left ( MonthName ( Month ( Date ( ) ) ) , 3 ) & amp ; "-" & amp ; Year ( Date ( ) ) Day (Date ()) & amp; "-" & amp; Sinistra (MONTHNAME (Month (Date ())), 3) & amp; "-" & amp; Year (Date ()) |
SQL Server esempio userebbe DateName invece di MONTHNAME (che può essere abbreviata senza sinistra () funzione ho dovuto usare in ASP) e naturalmente, data () = GETDATE () in SQL Server ![]()
Mi raccomando di leggere sempre fuori della base di dati (quando possibile) con le stored procedure nel formato corretto per iniziare. Ma sta a voi decidere come utilizzare questo gioiello di conoscenza che ho appena buttato a voi. E se stai leggendo questo pensiero "Ma io già lo sapeva!" E poi pensa di nuovo. Purtroppo, nel 2009, ci sono ancora un bel po di programmatori in grado di afferrare i concetti semplici, come del fuso orario e la manipolazione data.
Ricordate ragazzi. Fare errori quando si è ancora nuovo nel gioco è una cosa. Brandendo un (CV) di 3 anni esperienza CV + e continua a fare questi errori non sia sbagliato ... si è scelto un campo dove si devono evolvere e cercare risposte sempre, non ristagnare ... io ritrovo i tuoi sogni se si fa ![]()













































