编写2个方法date stringtodate(string arg)和string datetostring(date date),分别字符串类型的日期与date类型间的相互转换。日期格式形如“2021-08-09 10:32:21”。
时间: 2023-04-30 21:05:18 浏览: 49
题目要求实现两个函数:date stringtodate(string arg)和string datetostring(date date),用于将字符串类型的日期转换成日期类型和将日期类型转换成字符串类型。转换的日期格式为“2021-08-09 10:32:21”。这两个函数之间是相互转化的,可以实现任意方向上的转换。
相关问题
编写2个方法date stringtodate(string arg)和string datetostring(date date),分别字符串类型的日期与date类型间的相互转换。日期格式形如“20
21-01-01”。
方法一:将字符串类型的日期转换为date类型的日期
public static Date stringToDate(String arg) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd");
Date date = sdf.parse(arg);
return date;
}
方法二:将date类型的日期转换为字符串类型的日期
public static String dateToString(Date date) {
SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd");
String str = sdf.format(date);
return str;
}
jabx中date类型数据 的问题 “does not have a no-arg default constructor” 给出解决问题的代码
好的,以下是使用 JAXB 适配器解决 Date 类型属性 "does not have a no-arg default constructor" 的示例代码:
```java
import java.util.Date;
import javax.xml.bind.annotation.adapters.XmlAdapter;
import javax.xml.datatype.DatatypeConfigurationException;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
public class DateAdapter extends XmlAdapter<String, Date> {
@Override
public Date unmarshal(String v) throws Exception {
XMLGregorianCalendar xmlGregorianCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(v);
return xmlGregorianCalendar.toGregorianCalendar().getTime();
}
@Override
public String marshal(Date v) throws Exception {
XMLGregorianCalendar xmlGregorianCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar();
xmlGregorianCalendar.setTime(v.getTime());
return xmlGregorianCalendar.toXMLFormat();
}
}
```
该代码定义了一个适配器类 DateAdapter,用于将 Date 类型的属性转换为 XML 中的字符串类型。在 unmarshal 方法中,将 XML 字符串转换为 XMLGregorianCalendar 类型,然后再将其转换为 Date 类型;在 marshal 方法中,将 Date 类型转换为 XMLGregorianCalendar 类型,然后再将其转换为字符串类型。
在需要使用该适配器的类中,使用 @XmlJavaTypeAdapter 注解来指定使用该适配器进行转换。例如:
```java
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.util.Date;
@XmlRootElement
public class MyObject {
private Date date;
@XmlJavaTypeAdapter(DateAdapter.class)
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
}
```
在上述示例中,MyObject 类中包含一个 Date 类型的属性 date,并且使用 @XmlJavaTypeAdapter 注解来指定使用 DateAdapter 适配器进行转换。这样,就可以解决 "does not have a no-arg default constructor" 的问题。