如何在 spring 引导中插入 dd-mm-yyyy 格式的日期
How to insert the date in dd-mm-yyy format in spring boot
我输入日期有问题;我有一个由产品代码、名称和日期组成的表单(后者已保存为字符串)。
我尝试通过插入以下示例字段来使用 Postman 对其进行测试:
{
“产品代码”:“PC001”,
"name": "个人电脑",
“日期”:“2020 年 11 月 23 日”
}
当我将其保存在数据库中时,出现以下错误:
数据截断:日期时间值不正确:'23 -11-2020 'for column' 第 1 行的数据'
这是感兴趣的代码:
Product.java
package com.example.Model;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import com.example.Model.Product;
@Entity
@Table(name="productprove")
public class Product {
@Id
private String prodcode;
private String name;
private String date;
public Product() {
}
public Product(String prodcode, String name) {
super();
this.prodcode = prodcode;
this.name = name;
}
public String getProdcode() {
return prodcode;
}
public void setProdcode(String prodcode) {
this.prodcode = prodcode;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
Controller.java
@RestController
@CrossOrigin(origins="http://localhost:4200")
@RequestMapping(value="/api")
public class Controller {
@Autowired
private Product_Service productservice;
@PostMapping("save-product")
public boolean saveProduct(@RequestBody Product product) throws IOException, ParseException {
SimpleDateFormat dateParser = new SimpleDateFormat ("dd/MM/yyyy"); //Format for input
String date=product.getDate();
java.util.Date dn = dateParser.parse(date); //Parsing the date
SimpleDateFormat dateFormatter = new SimpleDateFormat ("dd-MM-yyyy"); //Format for output
product.setDate(dateFormatter.format(dn)); //Printing the date
return productservice.saveProduct(product);
}
我想知道我的想法是否正确,或者是否需要进行其他更改。
衷心感谢那些愿意帮助我的人
尝试使用日期而不是字符串作为日期。并使用@DateTimeFormat
@Entity
@Table(name="productprove")
public class Product {
@DateTimeFormat(pattern = "dd-MM-yyyy")
@Column(name = "date")
private Date date;
希望有用。
我输入日期有问题;我有一个由产品代码、名称和日期组成的表单(后者已保存为字符串)。 我尝试通过插入以下示例字段来使用 Postman 对其进行测试: { “产品代码”:“PC001”, "name": "个人电脑", “日期”:“2020 年 11 月 23 日” }
当我将其保存在数据库中时,出现以下错误:
数据截断:日期时间值不正确:'23 -11-2020 'for column' 第 1 行的数据'
这是感兴趣的代码:
Product.java
package com.example.Model;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import com.example.Model.Product;
@Entity
@Table(name="productprove")
public class Product {
@Id
private String prodcode;
private String name;
private String date;
public Product() {
}
public Product(String prodcode, String name) {
super();
this.prodcode = prodcode;
this.name = name;
}
public String getProdcode() {
return prodcode;
}
public void setProdcode(String prodcode) {
this.prodcode = prodcode;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
Controller.java
@RestController
@CrossOrigin(origins="http://localhost:4200")
@RequestMapping(value="/api")
public class Controller {
@Autowired
private Product_Service productservice;
@PostMapping("save-product")
public boolean saveProduct(@RequestBody Product product) throws IOException, ParseException {
SimpleDateFormat dateParser = new SimpleDateFormat ("dd/MM/yyyy"); //Format for input
String date=product.getDate();
java.util.Date dn = dateParser.parse(date); //Parsing the date
SimpleDateFormat dateFormatter = new SimpleDateFormat ("dd-MM-yyyy"); //Format for output
product.setDate(dateFormatter.format(dn)); //Printing the date
return productservice.saveProduct(product);
}
我想知道我的想法是否正确,或者是否需要进行其他更改。
衷心感谢那些愿意帮助我的人
尝试使用日期而不是字符串作为日期。并使用@DateTimeFormat
@Entity
@Table(name="productprove")
public class Product {
@DateTimeFormat(pattern = "dd-MM-yyyy")
@Column(name = "date")
private Date date;
希望有用。