Conversion d’une année à 4 chiffres en une année à 2 chiffres

Je veux obtenir les 2 derniers chiffres d’une année. Par exemple, si j’ai commencé avec une valeur d’entrée “2012”, j’aimerais générer une valeur de sortie de “12”.

Existe-t-il une option dans fprintf dans laquelle il n’imprimera que les deux derniers chiffres?

Il suffit d’imprimer le numéro modulo 100:

 printf("%2d\n", 2012 % 100); 

imprimera 12 .

L’idée de Steve314 (maintenant supprimée) est bonne mais n’est pas présentée correctement. Exemple: si l’année était 2009, utiliser “% 2d” pour obtenir “09” n’est pas correct. “% 2d” vous donnera “9”. “% 02d” vous donnera “09”.

 printf("%02d\n", year % 100); 

Il y a aussi des problèmes avec les nombres négatifs. % d,% 2d,% 02d pour (-99) donnera une réponse à 3 caractères. Si l’on sait que l’année n’est pas signée, recommandez d’utiliser «u» au lieu de «d». Si l’année signée peut être négative, vous aurez peut-être besoin d’un code supplémentaire pour cette situation ésotérique.