【问题标题】:Formating String to Date in Android, but Result date is not OK在Android中将字符串格式化为日期,但结果日期不正确
【发布时间】:2015-03-26 12:30:43
【问题描述】:

在应用程序中,我已经让用户使用 DAte 和 Time PickerFragments 选择一些日期和时间。

When the choose the date , I put it in TextViews.之后,我需要验证用户选择的日期是否正确。我的意思是,结束日期不能早于开始日期。

为了测试转换是否正常,我使用了以下代码:

String start_date = (String) tv_start_date.getText();
String end_date = (String) tv_end_date.getText();
String start_hour = (String) tv_start_hour.getText();
String end_hour = (String) tv_end_hour.getText();
String auxiliar = start_date  + " " + start_hour;
String auxiliar2 = end_date + " " + end_hour;

SimpleDateFormat sdf_aux = new SimpleDateFormat("dd/mm/yy hh:mm");

Date auuuux = sdf_aux.parse(auxiliar);
Date auuuux2 = sdf_aux.parse(auxiliar2);

Log.d("Meeting", "Inicio: Start--> "+auuuux.toString());
Log.d("Meeting", "FIN: END--> "+auuuux2.toString());

但是当我看到日志时,我可以看到日期不正确:

几张图片:

日志:

03-26 13:25:27.657: D/Meeting(15255): Start--> Mon Jan 26 13:25:00 CET 2015
03-26 13:25:27.657: D/Meeting(15255): END--> Tue Jan 27 14:26:00 CET 2015

如您所见,今天是 26/3/15 星期四,但如果您看到日志,则显示是星期一!

我该如何解决? 我做错了什么?

【问题讨论】:

    标签: android date formatting


    【解决方案1】:

    您在日期格式中输入了错误的字符串:

     SimpleDateFormat sdf_aux = new SimpleDateFormat("dd/mm/yy hh:mm");
    

    一定是:

     SimpleDateFormat sdf_aux = new SimpleDateFormat("dd/MM/yy hh:mm");
    

    因为大写 M 代表月份,小写代表 Minutes...

    编辑

    要获得 24 小时格式的时间,您必须将 h 更改为 H:

      SimpleDateFormat sdf_aux = new SimpleDateFormat("dd/MM/yy HH:mm");
    

    【讨论】:

    • @Opiatefuchs Ooookk .... 别介意这很重要.. 还有一件事.. 我意识到如果我输入例如 12.05 它会转换为 --> 00: 05:00,但那是错误的,因为我想要早上 12 小时,而不是晚上......有什么解决办法吗?
    • @Shudy 向下滚动到日期和时间模式表here
    • 哦,是的,我一开始也犯了同样的错误 :) ...在时间模式语法中查看 API,你会需要它...:developer.android.com/reference/java/text/SimpleDateFormat.html
    • @Opiatefuchs 是的,我已经看到了这个问题。我在看到带有链接的新 cmets 之前写过。我不得不将“hh”更改为“HH”。所以它会像:SimpleDateFormat sdf_aux = new SimpleDateFormat("dd/MM/yy HH:mm");。谢谢大家!!!我会根据我的知识将其固定 ^^
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-07
    • 2023-02-14
    • 1970-01-01
    • 1970-01-01
    • 2015-06-24
    • 1970-01-01
    相关资源
    最近更新 更多