Domanda

mando un vCal tramite posta in applicazioni web con convert datetime a datetime universale. Se corro applicazione web in locale (sevser locale in India) ottengo tempo corretto nel mio vCal. Ma appication eseguire dal vivo (server negli Stati Uniti), allora non si ottiene il tempo corret con una differenza di 1 e mezzo hour.Please mi suggeriscono.

codice:

Dim result As StringBuilder = New StringBuilder()
        result.AppendFormat("BEGIN:VCALENDAR{0}", System.Environment.NewLine)
        result.AppendFormat("BEGIN:VEVENT{0}", System.Environment.NewLine)
        result.AppendFormat("SUMMARY:{0}{1}", subject, System.Environment.NewLine)
        result.AppendFormat("LOCATION:{0}{1}", location, System.Environment.NewLine)
        result.AppendFormat("DTSTART:{0}{1}", startDate.ToUniversalTime().ToString("yyyyMMdd\THHmmss\Z"), System.Environment.NewLine)
        result.AppendFormat("DTEND:{0}{1}", endDate.ToUniversalTime().ToString("yyyyMMdd\THHmmss\Z"), System.Environment.NewLine)
        result.AppendFormat("DTSTAMP:{0}{1}", DateTime.Now.ToUniversalTime().ToString("yyyyMMdd\THHmmss\Z"), System.Environment.NewLine)
        result.AppendFormat("DESCRIPTION:{0}{1}", description, System.Environment.NewLine)
        result.AppendFormat("END:VEVENT{0}", System.Environment.NewLine)
        result.AppendFormat("END:VCALENDAR{0}", System.Environment.NewLine)
        Return result.ToString()
È stato utile?

Soluzione

Dal IST (India Standard Time) è a UTC + 5: 30 e i fusi orari degli Stati Uniti sono in UTC-4 (Eastern) per UTC-7 (Pacifico), si potrebbe apparire come un'ora e mezza fuori ( in realtà, ore dieci e mezzo al largo ma ignorando am / pm) se il server è in esecuzione in Central Daylight-legale (CDT) di tempo.

Ho trovato vcalendar a www.vcalendar.org che reindirizza rapidamente. Sembra essere un'applicazione PHP. E guardando il manuale di PHP, sembra che il formato H è il tempo di 24 ore; ma richiede un singolo H, non una doppia H. Il PDF per la documentazione in vcalendar.org è AWOL (404 - tranne che reindirizza a una pagina più utile di un semplice 404, ma non è ancora lì).

Suggerimento: stabilire quale zona il server è in esecuzione in tempo negli Stati Uniti (ci sono 4 principali fusi orari, e quelli ausiliari vari). Controllare se i '1,5 ore = 10,5 ore modulo 12' ipotesi è plausibile. E guarda duramente la data formati / ora e il significato di 'HH'.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top