Este artículo ha sido analizado por especialistas así se asegura la exactitud de nuestro tutorial.
Solución:
DTSTAMP debe configurarse cuando crea el archivo ical real a partir de la información en su base de datos
VENTAJA vs. un evento en una aplicación de calendario
Un archivo *.ical o *.ics, u otro flujo de datos comparable contiene mensajes enviado de una aplicación de calendario a otra. Las aplicaciones de calendario almacenan eventos como objetos.
Puede ingresar un evento en su calendario haciendo clic y escribiendo, pero otra forma es importar un archivo ical con mensajes VEVENT. No piense en esos mensajes VEVENT como duplicados de los objetos de evento de la aplicación. Piense en ello como duplicados de su clic y escritura.
Con esta idea en mente, es fácil entender que un VEVENT no solo puede crear un evento. También puede cambiar un evento existente e incluso puede eliminar un evento de la aplicación.
Y ahora echemos un vistazo a algunos campos que son importantes en este contexto:
CREADO
Esta es la marca de tiempo de cuando se creó un objeto de evento en una aplicación de calendario. Cada evento-objeto se puede identificar mediante un identificador único (UID).
DTSTAMP
Esta es la marca de tiempo de la creación de un mensaje VEVENT en un archivo ical o ics. Hay diferentes tipos de mensajes VEVENT, la creación de un nuevo objeto de evento es solo uno de ellos. También puede cambiar eventos existentes e incluso cancelar eventos si agrega el UID correcto al mensaje VEVENT para identificar a qué evento-objeto pertenece. Entonces, para un objeto de evento en su aplicación de calendario (identificado por su UID), puede recibir muchos eventos VEVENT, cada uno con su propio DTSTAMP, pero todos se refieren a un evento con solo una fecha CREADA.
SECUENCIA
Esto no es una marca de tiempo sino un número (un número entero). Si omite un número de secuencia, se trata como SEQUENCE:0
. Si tiene más de un VEVENT (recibido en uno o más archivos) para el mismo objeto de evento (mismo UID), se procesarán aumentando los números de secuencia. DTSTAMP solo le dice cuándo se creó el VEVENT, pero no influye en el orden de ejecución, que está definido por el campo SEQUENCE. Así que asegúrese de que cada cambio en su aplicación de calendario establezca un nuevo DTSTAMP para VEVENT junto con un número de SECUENCIA incrementado.
ÚLTIMA MODIFICACIÓN
Esto nuevamente es una marca de tiempo de un objeto en una aplicación de calendario. Cuando recibe un archivo ical con un mensaje VEVENT cuyo DTSTAMP es hoy, 9 a. m., y lo introduce en su aplicación a las 10 a. m., entonces 10 a. m. es el valor de ÚLTIMA MODIFICACIÓN.
como puedo CREADO y ÚLTIMA MODIFICACIÓN tiene sentido en VEVENT?
Como se mostró anteriormente, CREATED y LAST-MODIFIED son propiedades de un objeto en una aplicación de calendario, mientras que VEVENT es un mensaje que contiene propiedades desde las cuales una aplicación de calendario puede crear, modificar o eliminar sus objetos. El mensaje no puede saber cuándo lo importará a su aplicación, por lo que no puede saber cuándo creará o modificará el objeto. ¿O puede saberlo? ¿Por qué esas propiedades de objeto deberían ser parte del mensaje?
La respuesta es: poder exportar e importar los objetos de una aplicación de calendario. ¿Tiene dos dispositivos (digamos un teléfono móvil y una computadora de escritorio) y desea mantener sincronizados los calendarios en ambos dispositivos? Luego, necesita que los mensajes de un dispositivo se envíen al otro que contengan todos los datos relevantes, incluidas las marcas de tiempo para CREADO y ÚLTIMO MODIFICADO.
Dado que los mensajes VEVENT no solo se utilizan para imitar hacer clic y escribir como se describe anteriormente, sino también para sincronizar objetos de eventos en diferentes instancias de aplicaciones de calendario, a veces también necesita CREADO y ÚLTIMO MODIFICADO en mensajes VEVENT.
Estaba buscando una respuesta a esta pregunta, y aunque las respuestas aquí me ayudaron a entender, también encontré útil la información en el sitio iCalendar.org.
En breve: Creado indica cuándo se creó el evento, DTStamp es la marca de tiempo de una modificación cuando se especifica o no la propiedad “Método”, y LastModified es la marca de tiempo de una modificación de un evento. Vea que LastModified es lo mismo que DTStamp más este último también cambia en caso de que se establezca la propiedad “Método”.
Acabo de compartir el original aquí:
Creado:
Esta propiedad especifica la fecha y la hora en que el agente de usuario de calendario creó la información del calendario en el almacén de calendario.
sello DT:
En el caso de un objeto iCalendar que especifica una propiedad “METHOD”, esta propiedad especifica la fecha y la hora en que se creó la instancia del objeto iCalendar. En el caso de un objeto iCalendar que no especifica una propiedad “MÉTODO”, esta propiedad especifica la fecha y la hora en que la información asociada con el componente de calendario se revisó por última vez en el almacén de calendario.
Última modificación:
Esta propiedad especifica la fecha y la hora en que la información asociada con el componente de calendario se revisó por última vez en el almacén de calendario.