一个弱问 String str1="2006-09-21 08:02:19";String str2="2006-09-21 14:46:25";我怎么得到 这两个时间差多少分钟? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先解析字符串后用GregorianCalendar() 如果你的字符格式是一定的,也可以不用Calendar类,可以先把分钟取到一个字符数组里,再转换成字符串,转换成整型就可以比较。 import java.util.*;class Test{ public static void main(String args[]) { String str1="2006-09-21 08:02:19"; String str2="2006-09-21 14:46:25"; char c1[],c2[]; c1=new char[2]; str1.getChars(14,16,c1,0); String s1=new String(c1,0,2); int m=Integer.parseInt(s1); c2=new char[2]; str2.getChars(14,16,c2,0); String s2=new String(c2,0,2); int n=Integer.parseInt(s2); int r=Math.abs(m-n); System.out.println("相差"+r+"分钟");}} Vpackage com.wx.util;import java.util.Calendar;public class TimeDif { private String str1="2006-09-21 08:02:19"; private String str2="2006-09-20 08:02:19"; private long mins=0; /** * 得到分钟差,可能出现负值 * @return the mins */ public long getMins() { this.exec(); return mins; } /** * 给第一个日期赋值 * @param str1 the str1 to set */ public void setStr1(String str1) { this.str1 = str1; } /** * 给第二个日期赋值 * @param str2 the str2 to set */ public void setStr2(String str2) { this.str2 = str2; } private void exec(){ java.util.ArrayList<Integer> list=this.getNums(str1); Calendar c1=new java.util.GregorianCalendar(); c1.set(list.get(0), list.get(1), list.get(2), list.get(3), list.get(4), list.get(5)); list=this.getNums(str2); Calendar c2=new java.util.GregorianCalendar(); c2.set(list.get(0), list.get(1), list.get(2), list.get(3), list.get(4), list.get(5)); System.out.println(c1.getTime()); System.out.println(c2.getTime()); System.out.println(c2.compareTo(c1)); mins=(c1.getTimeInMillis()-c2.getTimeInMillis())/1000/60; } /** * 返回字符串中的各个时间值,年,月..... * @param parStr * @return */ private java.util.ArrayList<Integer> getNums(String parStr){ java.util.ArrayList<Integer> al=new java.util.ArrayList<Integer>(); String[] str=parStr.split(" "); String[] strTemp=str[0].split("-"); for (int i = 0; i < strTemp.length; i++) { al.add(Integer.parseInt(strTemp[i])); } strTemp=str[1].split(":"); for (int i = 0; i < strTemp.length; i++) { al.add(Integer.parseInt(strTemp[i])); } return al; } public static void main(String[] args) { // TODO Auto-generated method stub /** * 可以通过两个set方法改变日期进行验证 */ System.out.println(new TimeDif().getMins()); }} js编码是否可以使用java的解码 java项目问题(小白求教育) 已知一个类型 如ArrayList 如何生成一个对象 注:ArrayList是个字符串 请教个问题啊! 请教关于java.util.ConcurrentModificationException 问题 求用java正则过滤字符 紧急求救:不知道动了那里,我的Eclipse3.0提示出错,见内容... 这个程序执行的有问题,请执教 100分解决文件流问题 Runnable接口的run方法的运行 数据库问题 怎样在jpanel中只显示图片的一部分
class Test
{ public static void main(String args[])
{
String str1="2006-09-21 08:02:19";
String str2="2006-09-21 14:46:25";
char c1[],c2[];
c1=new char[2];
str1.getChars(14,16,c1,0);
String s1=new String(c1,0,2);
int m=Integer.parseInt(s1);
c2=new char[2];
str2.getChars(14,16,c2,0);
String s2=new String(c2,0,2);
int n=Integer.parseInt(s2);
int r=Math.abs(m-n);
System.out.println("相差"+r+"分钟");
}
}
import java.util.Calendar;public class TimeDif {
private String str1="2006-09-21 08:02:19";
private String str2="2006-09-20 08:02:19";
private long mins=0;
/**
* 得到分钟差,可能出现负值
* @return the mins
*/
public long getMins() {
this.exec();
return mins;
}
/**
* 给第一个日期赋值
* @param str1 the str1 to set
*/
public void setStr1(String str1) {
this.str1 = str1;
}
/**
* 给第二个日期赋值
* @param str2 the str2 to set
*/
public void setStr2(String str2) {
this.str2 = str2;
} private void exec(){
java.util.ArrayList<Integer> list=this.getNums(str1);
Calendar c1=new java.util.GregorianCalendar();
c1.set(list.get(0), list.get(1), list.get(2), list.get(3), list.get(4), list.get(5));
list=this.getNums(str2);
Calendar c2=new java.util.GregorianCalendar();
c2.set(list.get(0), list.get(1), list.get(2), list.get(3), list.get(4), list.get(5));
System.out.println(c1.getTime());
System.out.println(c2.getTime());
System.out.println(c2.compareTo(c1));
mins=(c1.getTimeInMillis()-c2.getTimeInMillis())/1000/60;
}
/**
* 返回字符串中的各个时间值,年,月.....
* @param parStr
* @return
*/
private java.util.ArrayList<Integer> getNums(String parStr){
java.util.ArrayList<Integer> al=new java.util.ArrayList<Integer>();
String[] str=parStr.split(" ");
String[] strTemp=str[0].split("-");
for (int i = 0; i < strTemp.length; i++) {
al.add(Integer.parseInt(strTemp[i]));
}
strTemp=str[1].split(":");
for (int i = 0; i < strTemp.length; i++) {
al.add(Integer.parseInt(strTemp[i]));
}
return al;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
/**
* 可以通过两个set方法改变日期进行验证
*/
System.out.println(new TimeDif().getMins());
}
}