Domanda

Ho bisogno di aiuto convertire questa stringa -> 20090727 10:16:36:643 a -> 07/27/2009 10:16:36

La data e l'ora originali vengono restituiti dalla funzione SynchronizationAgent.LastUpdated(), che restituisce una stringa nel formato di cui sopra.


domanda originale: conservato per riferimento

Ho questo ->

 HUD.LastSyncDate = mergeSubscription.SynchronizationAgent.LastUpdatedTime;

Che è l'impostazione di una proprietà che assomiglia a questo ->

public static string LastSyncDate
    {
        get { return _lastSyncDate; }
        set
        {
            _lastSyncDate = String.Format(CultureInfo.InvariantCulture,"{0:G}", value);
        }
    }

Purtroppo, con o senza l'String.Format la data che viene visualizzata aspetto come questo -> 20090727 10:16:36:643

Ho provato diverse varianti di formattarlo nel modo desiderato. Che cosa mi manca?

In base ai suggerimenti riportati di seguito ( Per lo più di Joel ), ho implementato le modifiche suggerite, ma ancora sto ottenendo un "String is not a valid DateTime error"

Ho provato anche l'attuazione del presente ->

HUD.LastSyncDate = DateTime.ParseExact(mergeSubscription.SynchronizationAgent.LastUpdatedTime,"yyyyMMdd HH:mm:ss:fff",CultureInfo.InvariantCulture);

, ma ancora niente.

È stato utile?

Soluzione

Mi sembra che LastUpdatedTime è in realtà una stringa (dato che è possibile fare l'assegnazione) non un DateTime. In tal caso, il formato applicato non farà nulla. Ti consigliamo di analizzare il LastUpdatedTime in un DateTime poi riformattare nel formato che si desidera prima di assegnarlo alla stringa.

DateTime lastUpdated = DateTime.Parse( mergeSubscription.SynchronizationAgent.LastUpdatedTime );
HUD.LastSyncDate = string.Format( "{0:G}", lastUpdated );

public static string LastSyncDate { get; set; }

Si noti che è necessario utilizzare ParseExact posto.

DateTime lastUpdated = DateTime.ParseExact( "yyyyMMdd HH:mm:ss:fff",
                                            ...,
                                            CultureInfo.InvariantCulture );
scroll top