Toon posts:

[ASP.NET / C#] Een datetime formatteren *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een DateTime, Deze wil ik in een ander formaat weergeven in een DateTime (namelijk: MM-dd-yyyy)

Ik dacht het op de volgende manier te doen, maar dit werkt niet:

code:
1
2
3
4
string testvanaf;
testvanaf = datumvanaf.ToString("MM-dd-yyyy");
DateTime dt = DateTime.Parse(testvanaf);
Response.Write(dt);


De string testvanaf staat nu wel in het goede formaat, hier wil ik nu een datetime van maken, maar dit wil niet. wie kan me helpen?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:26

gorgi_19

Kruimeltjes zijn weer op :9

New Date gebruiken en dan zelf de jaren, maanden en dagen invullen in de constructor?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
maar dan moet ik dus die maanden, dagen en jaren zelf uit de string halen? is dit niet een beetje omslachtig? is er een makkelijkere manier?

  • guanpedro
  • Registratie: Maart 2002
  • Laatst online: 18-12-2025

guanpedro

Live forever or die trying

ik begrijp niet precies wat je wil, wil je van date-time -> string -> datetime?

Ik zou hierbij de cultureinfo gebruiken van het land waarvan je de datumnotatie gebruikt. Op die manier kan de conversie niet zo snel misgaan.

CultureInfo myCIintl = new CultureInfo( "en-US" );

public virtual string ToString(string, IFormatProvider);
>> ToString ("d", myCIintl.DateTimeFormat );

Converts the value of this instance to its equivalent string representation using the specified format and culture-specific format information.

public static DateTime ToDateTime(object, IFormatProvider);
>>ToDateTime(object, myCIintl.DateTimeFormat );

Converts the specified String representation of a number to an equivalent DateTime using the specified culture-specific formatting information.

[ Voor 93% gewijzigd door guanpedro op 18-05-2005 13:56 ]

PC: MSI-NEO2FISR P4-2.6HT@2.8 Dual-channel GEIL-PC3500 Intel CSA GB-LAN 9600PRO Pioneer DVR106 Server: Dual Xeon-2GHz 3Ware 7500-12 11x120GB RAID5 GB-LAN RH 9 2.4.22 Digicam: Sony DSC-F717


Verwijderd

Topicstarter
hmm ik kom er niet uit hoe ik em kan gebruiken :S

ik heb een bestaande DateTime, deze wil ik converten naar een (MM-dd-yyyy) notatie, oftewel een en-us notatie.

[ Voor 55% gewijzigd door Verwijderd op 18-05-2005 14:00 ]


  • guanpedro
  • Registratie: Maart 2002
  • Laatst online: 18-12-2025

guanpedro

Live forever or die trying

Zoals ik het lees heb je nu een datum, je maakt er een geformatte string van, deze parse je weer naar datum en response.write je. Dit is nogal overbodig, een DateTime kan je in een keer formatten naar een bepaalde notatie:

Response.Write( datumvanaf.ToString( "MM-dd-yyyy" ));

Dit is toch al genoeg voor wat jij wil?

[ Voor 27% gewijzigd door guanpedro op 18-05-2005 14:09 ]

PC: MSI-NEO2FISR P4-2.6HT@2.8 Dual-channel GEIL-PC3500 Intel CSA GB-LAN 9600PRO Pioneer DVR106 Server: Dual Xeon-2GHz 3Ware 7500-12 11x120GB RAID5 GB-LAN RH 9 2.4.22 Digicam: Sony DSC-F717


  • riezebosch
  • Registratie: Oktober 2001
  • Laatst online: 04-05 13:09
Hiermee moet je er toch wel uitkomen?

edit:

Aanvullig op guanpedro dus, je moet waarschijnlijk CultureInfo gebruiken.

[ Voor 23% gewijzigd door riezebosch op 18-05-2005 14:04 ]

Canon EOS 400D + 18-55mm F3.5-5.6 + 50mm F1.8 II + 24-105 F4L + 430EX Speedlite + Crumpler Pretty Boy Back Pack


  • guanpedro
  • Registratie: Maart 2002
  • Laatst online: 18-12-2025

guanpedro

Live forever or die trying

Okay, heel belangrijk: een DateTime is een datum type en is format onafhankelijk, universeel. Pas als je er een string van maakt kan je formatting toepassen. Dit kan op basis van een CultureInfo object of een format string, zoals in mijn laatste reactie.

[ Voor 5% gewijzigd door guanpedro op 18-05-2005 14:08 ]

PC: MSI-NEO2FISR P4-2.6HT@2.8 Dual-channel GEIL-PC3500 Intel CSA GB-LAN 9600PRO Pioneer DVR106 Server: Dual Xeon-2GHz 3Ware 7500-12 11x120GB RAID5 GB-LAN RH 9 2.4.22 Digicam: Sony DSC-F717


Verwijderd

Topicstarter
Ja, dit doe ik ook in m'n eerste post. Ik maak er een string van. Deze string heeft de goeie notatie..
Van deze string wil ik dan weer een DateTime maken, maar dit lukt juist niet.

  • guanpedro
  • Registratie: Maart 2002
  • Laatst online: 18-12-2025

guanpedro

Live forever or die trying

Okay in dat geval is dit de netste methode:

// Maak het CultureInfoobject aan met de Amerikaanse formaatinformatie.
CultureInfo culture = new CultureInfo( "en-US" );

DateTime datum = DateTime.Now;
// Format de datum als short date string met Amerikaans formaat
string datumString = datum.ToString ("d", culture.DateTimeFormat );

// datumString moet nu iets van 05-18-2005 zijn.

// Converteer weer terug naar datum uitgaande van Amerikaans formaat
DateTime datum2 = Convert.ToDateTime(datumString, culture.DateTimeFormat );

Zo geef je aan bij conversie van en naar datum dat het om de Amerikaanse culture gaat.

PC: MSI-NEO2FISR P4-2.6HT@2.8 Dual-channel GEIL-PC3500 Intel CSA GB-LAN 9600PRO Pioneer DVR106 Server: Dual Xeon-2GHz 3Ware 7500-12 11x120GB RAID5 GB-LAN RH 9 2.4.22 Digicam: Sony DSC-F717

Pagina: 1