Java中的字符串到时间戳
在我的应用程序中,我有一个要求,用户以这种格式输入一个时间字符串:Java中的字符串到时间戳,java,datetime,date-formatting,Java,Datetime,Date Formatting,在我的应用程序中,我有一个要求,用户以这种格式输入一个时间字符串:HH:MM:SS,我需要格式化、解析并显示这些输入字符串之间的差异(以秒为单位) 静态长MyTimeStamp(字符串str) 是返回长值的静态方法 String TimeString1="10:30:15"; String TimeString2="10:30:45"; long t1 = MyTimeStamp(TimeString1); long t2 = MyTimeStamp(TimeString2); lon
HH:MM:SS
,我需要格式化、解析并显示这些输入字符串之间的差异(以秒为单位)
静态长MyTimeStamp(字符串str)
是返回长值的静态方法
String TimeString1="10:30:15";
String TimeString2="10:30:45";
long t1 = MyTimeStamp(TimeString1);
long t2 = MyTimeStamp(TimeString2);
long t3 = t1 - t2;
System.out.println(t3);
O/p应为30秒。尝试使用类进行解析:
SimpleDateFormat dtf = new SimpleDateFormat("HH:mm:ss");
try {
Date dtime = dtf.parse("23:34:12");
System.out.println(dtime.toString());
} catch (ParseException ex) {
System.err.println(ex.getMessage());
}
您可以使用Date
类计算时间差:
SimpleDateFormat dtf = new SimpleDateFormat("HH:mm:ss");
try {
Date t1 = dtf.parse("10:30:15");
Date t2 = dtf.parse("10:30:45");
System.out.println("Diff in seconds: " + ((t2.getTime()-t1.getTime())/1000));
} catch (ParseException ex) {
System.err.println(ex.getMessage());
}
一种可能的解决办法:
public static long getMillis(String time){
try {
SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
Date d = df.parse(time);
return d.getTime();
} catch (Exception ex) {
ex.printStackTrace();
}
return 0;
}
public static void main(String[] args) {
long t3 = (getMillis("10:30:45") - getMillis("10:30:15"))/1000;
System.out.println(t3);
}
这是密码-
String TimeString1="10:30:15";
String TimeString2="10:30:45";
SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("HH:mm:ss");
Date date1 = null;
Date date2 = null;
try {
date1 = DATE_FORMAT.parse(TimeString1);
date2 = DATE_FORMAT.parse(TimeString2);
long diff = date2.getTime()-date1.getTime();
System.out.println(diff/1000);
} catch (ParseException e) {
e.printStackTrace();
}
输出-
30
什么是
MyTimeStamp
?和longt3=t1-t2
将产生编译器错误。另外:你的问题是什么?@ManishSingh我问“你的问题”,因为你只是告诉我们你的要求是什么。你没有告诉我们你有什么问题。显然,你被困在了一个非常低的语言水平(t1-t2的。在这种情况下,我建议继续学习语言基础。有很多教程。@Seelenvirtuose当然可以,伙计。我想你忘了显示dtf的声明了吗?还要提到SimpleDataFormat对象。@NikhilTalreja我没有粘贴dtf
声明!谢谢