将Android日期时间转换为MySQL日期时间

7

有没有办法从格式为'MM-DD-YY'的 Android 日期和格式为'HH:MM'的时间得到像'YYYY-MM-DD HH:MM:SS'这样的日期时间格式并将其存储为 MySQL 中的日期时间格式?

输入:Android 日期“MM-DD-YY”和 Android 时间“HH:MM
输出:MySQL 日期时间“YYYY-MM-DD HH:MM:SS

2个回答

10

使用SimpleDateFormat来解析和格式化日期:

// Parse the input date
SimpleDateFormat fmt = new SimpleDateFormat("MM-dd-yyyy HH:mm");
Date inputDate = fmt.parse("10-22-2011 01:00");

// Create the MySQL datetime string
fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = fmt.format(inputDate);

1
我尝试了以下代码: SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateString = fmt.format("10-22-2011 01:00"); 但引发了非法参数异常。 - Rakon_188

0

我发现在数据库中将日期存储为整数更容易,例如long millis - date.getTime()。然后当您想要显示它时,可以将其转换回日期并添加适合所需输出的任何格式。


容易些,但如果你想使用mysql函数,如DAY(),MONTH(),怎么办? - Dalmas
这是一个非常糟糕的想法。事实上,这通常是一个在 Stack Overflow 上提出的问题,它通常以“我有这个 int,我想在我的数据库中对其进行某些日期处理”开头... - Tony Hopkinson
有什么不好的呢?将其存储为字符串,您就已经将其提交为一种格式,但是作为整数,您可以按照您想要或需要的方式进行格式化。 - John J Smith
不错的想法,John...特别是如果你只打算从数据库中存储和检索日期,这将是最佳选择。 - Anirudha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接