从Java中的时间戳获取小时和分钟

时间:2016-03-23 17:27:01

标签: java timestamp

我尝试从下面的时间戳中提取小时+分钟。我试过这个:

<application>
    <activity
        android:configChanges="keyboardHidden|orientation"
        android:name="org.appcelerator.titanium.TiActivity" android:screenOrientation="portrait"/>
    <activity
        android:configChanges="keyboardHidden|orientation"
        android:name="org.appcelerator.titanium.TiTranslucentActivity"
        android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent"/>
    <activity
        android:configChanges="keyboardHidden|orientation"
        android:name="org.appcelerator.titanium.TiModalActivity"
        android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent"/>
    <activity
        android:configChanges="keyboardHidden|orientation"
        android:name="ti.modules.titanium.ui.TiTabActivity" android:screenOrientation="portrait"/>
    <activity
        android:name="ti.modules.titanium.ui.android.TiPreferencesActivity" android:screenOrientation="portrait"/>            
</application>

但我得到一个&#34;未处理的异常:Java.text.parseException&#34;在这一行:

  

日期日期= sdf.parse(myTimeStampString);

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:3)

虽然你不清楚如何表达你的问题,但唯一合理的解释是没有抛出异常,而是指编译器错误。

ParseException是一个经过检查的异常,必须由源代码处理,否则将无法编译。我不确定您使用的是哪个编译器,Oracle JDK的Java编译器提供了更详细的错误描述:

  

错误:未报告的异常ParseException;必须被抓住或宣布   被抛出

答案 1 :(得分:0)

如果您只想获取包含"18:08"字符串的部分并且您不想根据时区进行调整,那么您可以使用String#substring(start, end)来提取该字符串字符串的一部分。

String fullTime = "2016-03-23 18:08:59";
String timeStr = fullTime.substring(11, 16); //extract "HH:mm" from "yyyy-MM-dd HH:mm:ss"

如果 DO 想要根据时区进行调整,请添加try块。

String fullTime = "2016-03-23 18:08:59";
DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"),
           df2 = new SimpleDateFormat("HH:mm");
df1.setTimeZone(TimeZone.getTimeZone("UTC"));
df2.setTimeZone(TimeZone.getTimeZone("IST"));
String timeStr = "";
try {
    timeStr = df2.format(df1.parse(fullTime)); //parse throws ParseException
} catch (ParseException e) { /* handle this */ }

此代码将顶部的变量作为输入,以便在调整时区后将timeStr更改为"HH:mm"处的值。