Tenemos una aplicación para iOS donde la compra en la aplicación de una suscripción auto renovable brinda a los usuarios acceso a ciertas funciones adicionales. Tenemos un servidor en el que nos gustaría verificar el recibo de compra en la aplicación de cada cuenta para ver si caducó o se renovó con éxito, para saber si continuar permitiendo el acceso de la cuenta a esas funciones adicionales.
Sin embargo, eso plantea la pregunta, ¿cómo se calcula la duración entre renovaciones? Debido a que algunos meses tienen 30 días, otros 31 y febrero puede tener 28 o 29 días. Entonces, si alguien se suscribe el 30 de enero, ¿se renovará el 27 de febrero o el 28 de febrero o algún otro día en febrero (suponiendo que febrero tiene 28 días en ese año)? Podríamos imaginar diferentes algoritmos posibles, por ejemplo, el día fijo del mes, a menos que el mes no tenga tantos días, y luego configurarlo como el último día del mes más corto.