java - Android - 使用简单日期格式的字符串到时间(仅)

标签 java android simpledateformat

所以我想做的基本上是,我有一个字符串变量,并且我正在尝试将该字符串转换为时间格式,以便我可以使用该时间来创建当天的警报。

例如。

字符串 stringTime = "1:05 PM"

我想将其转换为日期格式,以便将闹钟设置为在下一个下午 1:05 响起。

当我尝试使用 SimpleDateFormat 时,它显示为日期和时间,并且日期是 1970 年的。请参阅下面的代码。

Date[] date_formatted_times_A;
SimpleDateFormat formatter = new SimpleDateFormat("h:m a");

public Date[] DateConverterA (String[] times_A){

            date_formatted_times_A = new Date[times_A.length];

            for(int i=0;i<times_A.length;i++)
            {
                try {
                    date_formatted_times_A[i] = formatter.parse(times_A[i]);



                } catch (java.text.ParseException e) {
                    e.printStackTrace();
                }
            }
            return date_formatted_times_A;

}

但是,在字符串时间为下午 1:05 的情况下,我从中得到的结果是“Thu Jan 01 13:05:00 GMT 1970”。我完全不知道该如何继续。请记住,我只想要时间,并且我需要它的方式,然后我可以用它来设置闹钟。时间将存储在 DATE 数组中(或者您认为更合适的任何数组)。 24小时或12小时都可以!

最佳答案

您的简单日期格式应该是:
SimpleDateFormat 格式化程序 = new SimpleDateFormat(hh:mm a");

尝试以下操作并自己学习不同的格式:

try {
   SimpleDateFormat format = new SimpleDateFormat("hh:mm a"); //if 24 hour format
   // or
   SimpleDateFormat format = new SimpleDateFormat("HH:mm"); // 12 hour format
   java.util.Date d1 =(java.util.Date)format.parse(your_Time);
   java.sql.Time ppstime = new java.sql.Time(d1.getTime());
} catch(Exception e) {
   Log.e("Exception is ", e.toString());
}

关于java - Android - 使用简单日期格式的字符串到时间(仅),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39856264/

相关文章:

java - JTransforms : ifft odd data

java - 收集可能为空的值

java - 什么是NullPointerException,我该如何解决?

java - 如何将月份缩写为 3 个字符?

java - 如何使用 EWS 从 session 室获取完整的约会详细信息

android - 如何在android中后台运行应用程序?

android - 当我使用 setText() 时 TextView 会改变大小

android - 如何更改 Android 中全息主题的菜单项文本颜色?

java - SimpleDateFormat 宽容导致意外行为

Java SimpleDateFormat 不给出恒定结果