您好,在java里面,yyyy是SimpleDateFormat中日期的年份表示模式。一般我们用的是"yyyy-MM-dd HH:mm:ss"或者"yyy/MM/dd "等,这里面字母的大小写是严格区分的。y年 M月 d-日期,H-小时,m-分,s-秒。希望对你有帮助。他只是表示日期的,所以,您说的写年龄,我不知道 什么意思,可以说清楚些吗?
模式字母通常是重复的,其数量确定其精确表示: Text: 对于格式化来说,如果模式字母的数量大于或等于 4,则使用完全形式;否则,在可用的情况下使用短形式或缩写形式。对于分析来说,两种形式都是可接受的,与模式字母的数量无关。 Number: 对于格式化来说,模式字母的数量是最小的数位,如果数位不够,则用 0 填充以达到此数量。对于分析来说,模式字母的数量被忽略,除非必须分开两个相邻字段。 Year: 对于格式化来说,如果模式字母的数量为 2,则年份截取为 2 位数,否则将年份解释为 number。 对于分析来说,如果模式字母的数量大于 2,则年份照字面意义进行解释,而不管数位是多少。因此使用模式 "MM/dd/yyyy",将 "01/11/12" 分析为公元 12 年 1 月 11 日。 在分析缩写年份模式("y" 或 "yy")时,SimpleDateFormat 必须相对于某个世纪来解释缩写的年份。这通过将日期调整为 SimpleDateFormat 实例创建之前的 80 年和之后 20 年范围内来完成。例如,在 "MM/dd/yy" 模式下,如果 SimpleDateFormat 实例是在 1997 年 1 月 1 日创建的,则字符串 "01/11/12" 将被解释为 2024 年 1 月 11 日,而字符串 "05/04/64" 将被解释为 1964 年 5 月 4 日。在分析时,只有恰好由两位数字组成的字符串(如 Character.isDigit(char) 所定义的)被分析为默认的世纪。其他任何数字字符串将照字面意义进行解释,例如单数字字符串,3 个或更多数字组成的字符串,或者不都是数字的两位数字字符串(例如"-1")。因此,在相同的模式下, "01/02/3" 或 "01/02/003" 解释为公元 3 年 1 月 2 日。同样,"01/02/-3" 分析为公元前 4 年 1 月 2 日。 Month: 如果模式字母的数量为 3 或大于 3,则将月份解释为 text;否则解释为 number。