datum herschrijven

Status
Niet open voor verdere reacties.

wswizzard

Nieuwe gebruiker
Lid geworden
22 mrt 2007
Berichten
4
Hallo allen,
Hier voor jullie waarschijnlijk een makkelijke vraag..maar ik kom er toch echt even niet uit.
Ik heb output uit een database via sql select.
De output hiervan betreft een datum die als volgt in de database staat:
20060504. Deze kan ik zonder problemen tonen, echter hoe krijg ik deze in het volgende formaat 2006-05-04 of het liefst naar 04-05-2006

Ik had al iets geprobeerd in de trant van date("Y-m-d",stringtotime("20061012 "))
om vervolgens het 2006112 te vervangen met mij database output
of dien ik zoiest direct in de sql te doen?

Wie kan me hier bij helpen??
 
Heb je hier iets aan?

DateTime d1 = DateTime.ToDate;
string yyyy = d1.Year.ToString();
string mm = d1.Month.ToString();
string dd = d1.Day.ToString();

string d2 = dd + "-" + mm + "-" + yyyy;
 
hmm begrijp het nog niet helemaal...
Ik doe dus een select kolom1, kolom2 from table etc.
vervolgens plaats ik de resultaten van deze query in een tabel
nu is bijvoorbeeld de output van kolom1: 20060102
ik wil deze dus weergeven als 2006-01-02
Wellicht dat ik met jouw code uit kan komen, maar waar plaats ik dan de waarde 20060102? gaat dit in de sql query of herschrijf ik de output??
 
Ik ging er vanuit dat je één waarde ophaald en die in een variabele zette, danhad je hem zo kunnen bewerken.

Je vraag staat in ASP.net gebruik je dat ook daadwerkelijk of zit in php of zo?
 
Laatst bewerkt:
ik gebruik nu asp vb, maar heb voorheen uitsluitend met php gewerkt, vandaar dat ik met asp nog behoorlijk problemen ondervind
 
Ben niet 100% zeker of ik je situatie goed heb begrepen, maar als je met een gridview wil binden is er een leuke oplossing.

Je hebt -indien je de kolommen zelf hebt toegevoegd aan je grid ipv "automatically generate fields" - heb je dus in je HTML iets dergelijks staan:

<Columns>
<asp:BoundField DataField="col1" />
</Columns>

col1 zijnde de naam van die column met de datum. Nu, ga naar de design view, en open het paneeltje van je grid. Selecteer daar dan je col1, en click de link "convert this field into a templatefield"

Ga nu terug naar HTML view en je ziet dat er wijzigingen zijn aan je grid, waaronder iets als:

<asp:Label ID="Label1" runat="server" Text='<%# Bind("col1") %>'></asp:Label>

Wat je nu kunt doen is dat Bind statement vervangen door bvb:

<asp:Label ID="Label1" runat="server" Text='<%# Eval("col1").ToString().Substring(6, 2) + "-" + Eval("col1").ToString().Substring(4, 2) + "-" + Eval("col1").ToString().Substring(0, 4) %>'></asp:Label>

Dit is nu wel C# maar in VB zal het zo goed als hetzelfde zijn imho.

Enfin, hoop dat dit je eventueel ook wat kan helpen..

PeterVH

PS: Velen zullen dit wel als een lelijke truuk beschouwen. C# code in de source van je aspx zetten. :(
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan