Την πρώτη ερώτηση δεν μπορώ να πω ότι την καταλαβαίνω. Από τον DateTimePicker παίρνεις μία τιμή DateTime από την οποία μπορείς να βγάλεις και το
Date και το
Time χρησιμοποιώντας τα αντίστοιχα properties.
Όσο για την δεύτερη ερώτηση, δεν χρειάζεται να κάνεις απολύτως τίποτε - φτάνει φυσικά η τιμή αποθηκεύεται σε πεδίο Date στον SQL Server και όχι (n)varchar. Αν βλέπεις την ημερομηνία σε αμερικάνικο format φταίει ότι κάπου κάνεις εσύ την μετατροπή. Είτε διαβάζεις την τιμή ως string αντί για date, είτε την αποθηκεύεις ως string αντί για date. Το δεύτερο συμβαίνει αν αντί για να χρησιμοποιήσεις parameterized queries, "καρφώνεις" την ημερομηνία σε ένα sql string.
Αν τώρα διαβάζεις σωστά την ημερομηνία αλλά δεν σου εμφανίζεται όπως περίμενες, θα πρέπει να κοιτάξεις τί regional settings έχεις στο μηχάνημα σου. Η μορφή με την οποία μετατρέπεται μία ημερομηνία σε κείμενο εξαρτάται από τα regional settings. Αν έχεις ορίσει αγγλικό locale λογικό είναι να βλέπεις και αγγλική μορφή της ημερομηνίας.
Η ερώτηση αυτή είναι μία από τις πιο συχνές στο site και μπορείς να βρεις πολλές παρόμοιες συζητήσεις στο παρελθόν, που καλύπτουν από το τί επηρεάζεται η εμφάνιση της ημερομηνίας και πως μπορείς να την αλλάξεις.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos