String to date conversion android
我有一个Android应用程序,我想将我的字符串转换为日期数据类型。
我以这种格式("12/30/2011")通过日期选择器获取字符串。
我想以相同的格式将其转换为字符串。 这是我的代码:
1 2 3 4 5 | Date dateObj = new Date(); dateFormat = new SimpleDateFormat("MM/dd/yyyy"); dateFormat.setLenient(false); dateObj = dateFormat.parse("12/30/2011"); Log.v("",""+dateObj); |
但我以这种形式获得价值:
周三12月28日00:00:00 GMT + 05:00 2011
有帮助吗?
1 2 |
请看看这个
1 2 3 4 5 6 7 8 9 10 | import java.text.SimpleDateFormat; import java.util.Date; public class DateIssue { public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); System.out.println(sdf.format(new Date())); } } |
输出:12/28/2011
代替
1 | Log.v("",""+dateObj); |
用这个
1 |
您不应该打印原始日期对象,而是打印格式化日期对象。
1 2 3 4 5 | Date dateObj = new Date(); dateFormat = new SimpleDateFormat("MM/dd/yyyy"); dateFormat.setLenient(false); dateObj = dateFormat.parse("12/30/2011"); Log.v("","" + dateFormat.format(dateObj)); |
试试这个吧。
好像你做的一切都正确,只是日期对象总是存储这些值以保持所有日期对象的一致性。 看看这个。
你错误地解析和格式化。
这里:
1 2 3 4 | Date dateObj = new Date(); dateFormat = new SimpleDateFormat("MM/dd/yyyy"); String dateAsString = dateFormat.format(dateObj); Log.v("",dateAsString); |
另请注意,将对象与String连接始终使用对象的toString方法。 对于Date对象,toString返回一个基本的默认格式,与您在上面声明的SimpleDateFormat无关。
1 2 3 4 5 | date : String date formatpattern : String formatPatten SimpleDateFormat formatter = new SimpleDateFormat(formatpattern); Date date = formatter.parse(date); |