Mysql 将字符串dd/MM/yyyy日期转换为java.sql.date yyyy MM dd
我正在使用下面的方法进行所描述的转换。但是Mysql 将字符串dd/MM/yyyy日期转换为java.sql.date yyyy MM dd,mysql,date,servlets,Mysql,Date,Servlets,我正在使用下面的方法进行所描述的转换。但是java.sql.Date方法已被弃用。那么,他们使用这种方法有什么害处吗?因为下面的陈述很有效 (从会话中以字符串形式在servlet中检索日期值,然后将日期存储在MySQL中。) 您应该使用SimpleDataFormat(或中的等效格式),而不是自己尝试解析: DateFormat format = new SimpleDateFormat("dd/MM/yyyy", Locale.US); format.setTimeZone(TimeZone
java.sql.Date
方法已被弃用。那么,他们使用这种方法有什么害处吗?因为下面的陈述很有效
(从会话中以字符串形式在servlet中检索日期值,然后将日期存储在MySQL中。)
您应该使用
SimpleDataFormat
(或中的等效格式),而不是自己尝试解析:
DateFormat format = new SimpleDateFormat("dd/MM/yyyy", Locale.US);
format.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
java.util.Date date = format.parse(text);
java.sql.Date sqlDate = new java.sql.Date(date.getTime());
您应该使用
SimpleDataFormat
(或中的等效格式),而不是自己尝试解析:
DateFormat format = new SimpleDateFormat("dd/MM/yyyy", Locale.US);
format.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
java.util.Date date = format.parse(text);
java.sql.Date sqlDate = new java.sql.Date(date.getTime());
谢谢为我工作。。实际上,我对getTime()函数的用法感到困惑,因为这里不需要时间,只需要日期。使用不推荐的方法有什么害处吗?还有一点,设置时区有什么必要?DateFormat=new SimpleDataFormat(“dd/MM/yyyy”);java.util.Date=format.parse(文本);java.sql.Date sqlDate=new java.sql.Date(Date.getTime());这段代码也在工作。您的代码有什么不同吗?@user1255357:如果您不设置时区,它会将其视为该时区的午夜-这可能会在数据库中成为不同的一天。是的,你不应该使用不推荐的
Date
方法-我是不是无意中使用了一种?(希望不是…@user1255357:是-它将使用系统默认时区,这可能会给您带来不同的结果,并使用系统默认区域设置,这可能会使用不同的日历系统。(我原以为这也会影响/
,但显然不会。我不确定日历系统是否默认为本地设置,但我希望如此。)谢谢!为我工作。。实际上,我对getTime()函数的用法感到困惑,因为这里不需要时间,只需要日期。使用不推荐的方法有什么害处吗?还有一点,设置时区有什么必要?DateFormat=new SimpleDataFormat(“dd/MM/yyyy”);java.util.Date=format.parse(文本);java.sql.Date sqlDate=new java.sql.Date(Date.getTime());这段代码也在工作。您的代码有什么不同吗?@user1255357:如果您不设置时区,它会将其视为该时区的午夜-这可能会在数据库中成为不同的一天。是的,你不应该使用不推荐的Date
方法-我是不是无意中使用了一种?(希望不是…@user1255357:是-它将使用系统默认时区,这可能会给您带来不同的结果,并使用系统默认区域设置,这可能会使用不同的日历系统。(我原以为这也会影响/
,但显然不会。我不确定日历系统是否默认为本地设置,但我希望是这样。)
DateFormat format = new SimpleDateFormat("dd/MM/yyyy", Locale.US);
format.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
java.util.Date date = format.parse(text);
java.sql.Date sqlDate = new java.sql.Date(date.getTime());