处理日期对象javascript与java

处理日期对象javascript与java,javascript,java,Javascript,Java,我有一个日期输入字段。用户输入一个日期,然后提交,该日期保存在数据库中。我有两个选择如何做事情,我知道如何实现这两个,但我不太确定什么是最好的做法,因为我是一个noob 选项1:获取从日期输入读取的值,该值是一个字符串,并将其发送到我的Spring后端,然后创建一个日期对象 选项2:获取从日期输入读取的值,在JavaScript中创建一个日期对象,并向我的spring控制器发送一个日期对象 我倾向于选项1,因为我认为我的控制器将有更好的错误处理能力?您的问题没有意义,因为您将以任何方式向服务器发

我有一个日期输入字段。用户输入一个日期,然后提交,该日期保存在数据库中。我有两个选择如何做事情,我知道如何实现这两个,但我不太确定什么是最好的做法,因为我是一个noob

选项1:获取从日期输入读取的值,该值是一个字符串,并将其发送到我的Spring后端,然后创建一个日期对象

选项2:获取从日期输入读取的值,在JavaScript中创建一个日期对象,并向我的spring控制器发送一个日期对象


我倾向于选项1,因为我认为我的控制器将有更好的错误处理能力?

您的问题没有意义,因为您将以任何方式向服务器发送一系列日期

ISO 8601 通常,在以文本形式交换日期时间值时,最好使用标准格式。日期为YYYY-MM-DD

java.time 至于对该日期值执行与日期时间相关的工作,我建议使用Java。Java提供了业界领先的日期-时间框架,这些框架在类中由定义。看

在解析/生成日期时间字符串时,java.time类在默认情况下方便地使用这些格式

LocalDate ld = LocalDate.parse( "2019-01-23" ) ;  // Parses standard ISO 8601 strings.
String output = ld.toString() ;                   // Generates "2019-01-23".

仅供参考,通过HTTP请求体或查询字符串发送的任何值都将是字符串。如果不序列化itIMO,就无法将JS日期实例发布到后端,日期的最佳序列化格式是。JS dates可用于生成其中一个获取客户输入并将其转换为JS Date对象,可作为输入的前端验证方法。然而,后端将接收的是对象的字符串表示。@Phil我不知道,谢谢!我还尝试了选项2,它工作得很好,没有我序列化它。当您指定后端所需的类型时,它可能会自动序列化它?@DaveDaBest如果您发送JSON,Date.prototype.toJSON会在内部调用toISOString