Java用注解时间格式怎么转换成2019-09-02
时间: 2024-04-29 18:24:25 浏览: 51
Java时间格式转化
首先,需要定义一个注解,指定时间格式:
```java
import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface DateFormat {
String value() default "yyyy-MM-dd";
}
```
然后在需要转换时间的类的属性上使用该注解:
```java
public class Person {
@DateFormat
private Date birthday;
// getter and setter
}
```
最后,可以使用反射获取该属性上的注解,并使用SimpleDateFormat将时间格式化为字符串:
```java
Person person = new Person();
person.setBirthday(new Date());
Field field = Person.class.getDeclaredField("birthday");
DateFormat dateFormatAnnotation = field.getAnnotation(DateFormat.class);
SimpleDateFormat dateFormat = new SimpleDateFormat(dateFormatAnnotation.value());
String birthdayString = dateFormat.format(person.getBirthday());
System.out.println(birthdayString); // 输出:2019-09-02
```
注意,在使用反射获取属性上的注解时,需要捕获NoSuchFieldException异常。
阅读全文