Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 将字符串dd/MM/yyyy日期转换为java.sql.date yyyy MM dd_Mysql_Date_Servlets - Fatal编程技术网

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());