【Java】怎么比较两个字符串中的数字大小?

现在有这样两个字符串
String time1 = "07:18";
String time2 = "12:21";

            Java中不能用 time1 > time2 这种方法比较,但是我发现js可以

            请问java中如何满足这样的需求

            (ps: 判断两个     时:分    的大小关系)

7个回答

String time1 = "12:21";
String time2 = "07:18";
System.out.println(time1.compareTo(time2));//1

time1 = "20:21";
time2 = "01:18";
System.out.println(time1.compareTo(time2));//2

time1 = "14:21";
time2 = "10:18";
System.out.println(time1.compareTo(time2));//4

time1 = "14:21";
time2 = "23:18";
System.out.println(time1.compareTo(time2));//-1

time1 = "14:21";
time2 = "14:21";
System.out.println(time1.compareTo(time2));//0

事实说明,time1.compareTo(time2)返回结果>0说明time1大;返回结果<0说明time2大;返回结果=0说明一样大。

就那几楼说的 符合规范就直接用 String.compareTo 方法 不用在去换算成时间什么的了 没那么麻烦

看需要,如果比较字符串直接用time1.compareTo(time2),如果比较时间大小,那你直接转换成数字比较可靠点

time1,time2转换成DateTime,然后再用DateTime.Compare(time1,time2)比较时间大小

boolean compare(String time1, String time2){
String[] arr1 = time1.split(":");
String[] arr2 = time2.split(":");
if (Integer.parseInt(arr1[0]) == Integer.parseInt(arr2[0]))
return (Integer.parseInt(arr1[1]) > Integer.parseInt(arr2[1]);
else
return (Integer.parseInt(arr1[0]) > Integer.parseInt(arr2[0]);
}

最方便应该就是直接使用 a.compareto(b) 结果为-1证明b大,1证明a大,也可以 simpledateformat 转成日期类型的对比,或者字符串分割,分成小时的数与分钟的数,然后转成数字进行

            你这个只有时分,那就直接转数字,比较大小就可以
            String data1 = "07:18".replaceAll(":",".");
    String data2 = "12:21".replaceAll(":",".");
    Double double1 = Double.valueOf(data2);
    Double double2 = Double.valueOf(data2);
    System.out.println(double1 > double1);
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
怎么比较两个字符串的大小
想知道怎么比较两个字符串的大小,不能用JAVA自带的方法,要自己写方法,麻烦哪位高人指点
vb中怎么比较两个字符串的大小?
急用,求救,没有分了,多包涵,有分的时候一定相送!
数字字符串的大小比较
我某个表里,有个字段为varchar(20),内容为数字,请问我如何使它按数字来比较,如果用convert怕溢出,到底是20长度啊,拿位高手指点一下?
比较两个字符串大小
写一程序,实现两个字符串s1、s2的比较。要求s1=s2,输出0;若s1!=s2,输出它们二者第一个不同字符的ASCII码差值(如&amp;quot;BOY&amp;quot;和”BAD&amp;quot;,第二个字母不同,O与A之差为79-65=14)。如果s1&amp;amp;gt;s2,输出正值;如果s1&amp;amp;lt;s2,输出负值。 分析:只要每个字符依次读入比较即可 一般形式: #include &amp;amp;lt;stdio.h&amp;amp;gt; #include &
比较两个字符串的大小
两个字符串A和B,A和B我都是取的当前时间,如:A=8:54:12,B=9:14:20,我现在想比较这两个字符串的大小,该怎么写啊?比较急!!!!
Java中比较数字的大小
在Java中比较两个或者几个数字的大小,有多种方法,在这里,因为我刚刚学习Java,就用了最简单的命令实现一下,代码如下: 找出三个数字中的最大(小)值: ...
java 中字符串 怎么比较大小
比如 B234 和B235怎么比较他们的大小?rn也就是说随便的两个字符串大小怎么比较????
怎么比较两个字符型数字的大小
var sql = "select top 1 client_id from zbstat order by time_enter desc";rnvar rs = conn.Execute(sql);rnif (!rs.eof)rnrnvar sqlw = "select top 1 client_id from zbstat where [color=#FF00FF]client_id>rs("client_id") [/color]order by time_enter";rnvar rsw = conn.Execute(sqlw);rnrnelsernrnvar sqlw = "select top 1 client_id from zbstat where order by time_enter";rnvar rsw = conn.Execute(sqlw);rnrnrn我的client_id类型是字符型rn输出的值为0001,0002,0003rn请where条件怎么使用。多谢
java两个数字比较大小实例下载
简单的比较两个数字大小的程序运用java基本语句实现 下载Java判断两个数字大小代码实例
java中比较字符串的大小
当比较俩个字符串时,我们用a=b时,有时两个字符串相同,也不一定返回true。有时返回false两个字符串也不一定不同。 public class TestString{ public static void main(String[] args){ String str1 = &quot;张三&quot;; String str2 = &quot;张三&quot;; System.out.println(st...
bccomp()比较两个数字的大小
BC 高精确度函数库 bccomp 比较二个高精确度数字。 语法: int bccomp(string left operand, string right operand, int [scale]); 返回值: 整数 函数种类: 数学运算 内容说明 此函数比较二个高精确度的数字。输入二个字符串,若二个字符串
如何比较两个数字的大小
AccountBalance的数据类型是numeric,精度18,小数位数2rn取值是这样取值的:AccountBalance=rs("AccountBalance")rnrnAmount根据选择A、B、C的不同由程序生成rnrnselect case buytypesrncase "A"rn Amount=100rncase "B"rn Amount=200rncase "C"rn Amount=500rncase elsern response.Write("发生错误,无该套餐类型。")rn response.End()rnend selectrnrn现在要比较AccountBalance和Amount的大小,这样rnif AccountBalance>Amount then比较好像不对,到底要怎么样比较呢?
对两个字符串怎么比较大小啊
我用了compareTo()当时它好像只能比较数字,如果是非数字怎么比较啊,我不比较长度,我是要一个一个的字符进行比较.那位大哥给解决一下,小弟将感激不尽.
数字与字符串,,,字符串与字符串之间比较大小
1.数字与字符串之间比较: 1)只比较内容的值! 比如:   3 &amp;lt; ' 24 '  返回 true js会吧'24'转化为number类型再比较。 2)如果出现这种'24sss'字符串,无法转换为number类型,就会转化为NaN NaN : not a number 的意思,是number类型且不等于任何值。 因此比较3&amp;lt;'24sss'就会返回false,因为无法进行比...
js字符串与数字比较大小
参考详解js运算符关系运算符两个操作数都是数值,则进行数值比较 两个操作数都是字符串,则比较两个字符串对应的字符编码值 两个操作数有一个是数值,则将另一个转换为数值,再进行数值比较 两个操作数有一个是对象,则先调用valueOf()方法或toString()方法,再用结果比较var num = '3'>22;//false var num = '3'>'22';//true,进行第一个数字的比较3>
java比较两个时间字符串的大小
@Test public void subStr() {     String dateStr = &quot;2018-05-24 12:00:00&quot;;     long longDate = Long.valueOf(dateStr.replaceAll(&quot;[-\\s:]&quot;,&quot;&quot;));     System.out.println(longDate); }将时间字...
Java比较字符串大小
java比较两个字符串的大小。
数组中字符串类型的数字大小比较
NSArray *numberArray = @[@&quot;1&quot;,@&quot;5&quot;,@&quot;45&quot;,@&quot;17&quot;,@&quot;21&quot;]; //block比较方法,数组中可以是NSInteger,NSString(需要转换) NSComparator finderSort = ^(id string1,id string2){ if ([string1 integerValue] &amp;..
MySQL中数字字符串的大小比较
SQL中字符串比较大小是个比较坑的事儿。如果你觉得字符串类型的10比9大那就不小心被坑了。其实是这样的: 看到了吗,我们把内容为1-10的字符串升序排序,结果发现10并未出现在第一行而是倒数第二行。这是因为字符串中是数字时是按照最后一位比较的,解决方法也很简单——+0。就像这样: 在order by的参考列上+0即可解决这个问题。问题很小却很精妙。最后列出本表。
两个整型字符串大小的比较??
谁帮我找一下错误啊??rn#include rn#include rnrnint main()rn rn int n;rn int i;rn char a[130],b[130];rn int n1,n2;rn int j;rn int off1,off2;rn while (scanf("%d",&n)!=EOF)rn rn for (i=0;i='0'&&a[0]<='9')&&(b[0]>='0'&&b[0]<='9'))rn rn off1=0;off2=0;rn while (1)rn rn if (a[off1]!='0')rn rn break;rn rn off1++;rn rn while (1)rn rn if (b[off2]!='0')rn rn break;rn rn off2++;rn rnrn n1=strlen(a)-off1;rn n2=strlen(b)-off2;rn a[off1]=a[0];rn b[off2]=b[0];rn if (n1==0&&n2==0)rn rn printf("Test #%d: =\n",i+1);rn continue;rn rn if (n1>n2)rn rn printf("Test #%d: >\n",i+1);rn rn else if (n10)rn rn printf("Test #%d: >\n",i+1);rn break;rn rn else if (a[j+off1]-b[j+off2]<0)rn rn printf("Test #%d: <\n",i+1);rn break;rn rn rn if (j==n1)rn rn printf("Test #%d: =\n",i+1);rn rn rn rn if ((!(a[0]>='0'&&a[0]<='9'))&&(!(b[0]>='0'&&b[0]<='9')))rn rn off1=0;off2=0;rn while (1)rn rn if (a[off1+1]!='0')rn rn break;rn rn off1++;rn rn while (1)rn rn if (b[off2+1]!='0')rn rn break;rn rn off2++;rn rnrn n1=strlen(a)-off1;rn n2=strlen(b)-off2;rn if (n1==1&&n2==1)rn rn printf("Test #%d: =\n",i+1);rn continue;rn rn if (a[0]=='+'&&b[0]=='-')rn rn rn printf("Test #%d: >\n",i+1);rn rn else if (a[0]=='-'&&b[0]=='+')rn rn rn printf("Test #%d: <\n",i+1);rn rn else if((a[0]=='+'&&b[0]=='+'))rn rn if (n1>n2)rn rn printf("Test #%d: >\n",i+1);rn rn else if (n10)rn rn printf("Test #%d: >\n",i+1);rn break;rn rn else if (a[j+off1]-b[j+off2]<0)rn rn printf("Test #%d: <\n",i+1);rn break;rn rn rn if (j==n1)rn rn printf("Test #%d: =\n",i+1);rn rn rn rn elsern rn if (n1>n2)rn rn printf("Test #%d: <\n",i+1);rn rn else if (n1\n",i+1);rn rn elsern for (j=1;j0)rn rn printf("Test #%d: <\n",i+1);rn break;rn rn else if (a[j+off1]-b[j+off2]<0)rn rn printf("Test #%d: >\n",i+1);rn break;rn rn rn if (j==n1)rn rn printf("Test #%d: =\n",i+1);rn rn rn rn rn rn if (!(a[0]>='0'&&a[0]<='9')&&(b[0]>='0'&&b[0]<='9'))rn rn off1=0;off2=0;rn while (1)rn rn if (a[off1+1]!='0')rn rn break;rn rn off1++;rn rn while (1)rn rn if (b[off2]!='0')rn rn break;rn rn off2++;rn rnrn n1=strlen(a)-off1-1;rn n2=strlen(b)-off2;rn if (n1==0&&n2==0)rn rn printf("Test #%d: =\n",i+1);rn continue;rn rn // n1=strlen(a)-1;rn // n2=strlen(b);rn if (a[0]=='-')rn rnrn printf("Test #%d: <\n",i+1);rn rn elsern rn if (n1n2)rn rn printf("Test #%d: >\n",i+1);rn rn elsern rn for (j=1;j0)rn rn printf("Test #%d: >\n",i+1);rn break;rn rn else if (a[j+off1]-b[j-1+off2]<0)rn rn printf("Test #%d: <\n",i+1);rn break;rn rn rn if (j==n1)rn rn printf("Test #%d: =\n",i+1);rn rn rn rn rn if ((a[0]>='0'&&a[0]<='9')&&(!(b[0]>='0'&&b[0]<='9')))rn rn off1=0;off2=0;rn while (1)rn rn if (a[off1]!='0')rn rn break;rn rn off1++;rn rn while (1)rn rn if (b[off2+1]!='0')rn rn break;rn rn off2++;rn rnrn n1=strlen(a)-off1;rn n2=strlen(b)-off2-1;rn if (n1==0&&n2==0)rn rn printf("Test #%d: =\n",i+1);rn continue;rn rn // n1=strlen(a);rn // n2=strlen(b)-1;rn if (b[0]=='-')rn rn rn rn printf("Test #%d: >\n",i+1);rn rn elsern rn if (n1n2)rn rn printf("Test #%d: >\n",i+1);rn rn elsern rn for (j=1;j0)rn rn printf("Test #%d: >\n",i+1);rn break;rn rn else if (a[j-1+off1]-b[j+off2]<0)rn rn printf("Test #%d: <\n",i+1);rn break;rn rn rn if (j==n1)rn rn printf("Test #%d: =\n",i+1);rn rn rn rn rn rn rn rnrn rnrn return 0;rn rn
比较两个字符串时间戳大小
问题描述:对外提供的接口,为了防止有人截取到链接请求无限制的访问占用带宽,现在要加上时间戳来校验,只有在指定时间之内访问的链接,才被认可。 实现方式: 比较timestamp1和timestamp2 var timestamp1 = new Date('2014-11-5 21:50:00'), timestamp2 = new Date(); var d = timestamp1.get...
JS 比较两个字符串大小
JS使用 '&amp;gt;' 运算符比较两个字符串大小时,会把字符串转换为ASCII码依次比较。 var a = &quot;1.2.2a&quot;; var b = &quot;1.2.2b&quot;; console.log(a &amp;gt; b, a &amp;lt; b); // 输出 false true a = &quot;1.02.1&quot;; b = &quot;1.1&quot;; console.log(a &amp;gt; b,a &amp;lt; b); // 输
Java中比较两个字符串
Java中比较两个字符串 方法:通过字符串函数ocmpareTo(String),compareTolgnoreCase(String)及compareTo(object string)来比较两个字符串,并返回字符串中的第一个字母ASC11的差值 public class StringCompareEmp { public static void main (String[] args){ ...
如何比较两个字符串大小
如题,如何比较了两个字符串大小 比如A=“20080101” B=“20080808” 则B>A
比较两个时间字符串的大小
有两个日期字符串,“2019-01-21”和“2019-02-12”,现在需要比较这两个字符串的大小。 比较简单的方法是可以使用String类中的compareTo()方法比较,例如: public class Test { public static void main(String[] args) { String date1 = &quot;2019-01-21&quot;; ...
delphi中如何比较两个字符串的大小
区分大小写,比较两个字符串的大小,如'AB'与'AC','ABCD'与'ABD'
字符串中数字的比较
比如:CString类型的一串数据“45,78,99”rn输入一个新的CString数据“55”rn怎样比较大小,进行插入操作
java 中输入数字比较大小的问题
想法:使用pannter 类检查键盘输入是否是数字,不然反复提示,知道输入数字再比较大小。rn问题:不能反复检查键盘输入rn请给指导一下:rnrn//比较两个输入数字的大小rn//判断键盘输入限定只能是数字rn//校验结束后,比较数字大小rn/////////////////////rnimport java.io.*;rnimport java.util.regex.Pattern;rnimport java.util.Scanner;;rnrnpublic class CompareValue rn// 使用Pattern 判断输入是否是数字/////rn////正则表达式判断///////////////////rn public static boolean isNumeric(String str)rn Pattern pattern=Pattern.compile("[0-9]*");rn return pattern.matcher(str).matches();rn rn public static boolean isNumeric1(String strt) rn for(int i=strt.length();--i>=0;) rn int chr=strt.charAt(i); rn if(chr<48 || chr>57) rn return false; rn rn return true; rn rn public static void main(String arg[]) throws IOExceptionrn String firstnumber=null;rn String secondnumber=null;rn System.out.println("Please input first number");rn try rn BufferedReader br1=new BufferedReader(new InputStreamReader(System.in));rn firstnumber=br1.readLine();rn Scanner scanner =new Scanner(br1);rn while (!isNumeric1(firstnumber))rn System.out.println("It is not numeric!Input it again.");rn scanner.next();rn rnrn catch (IOException e1)rn System.out.print(e1.getMessage());rn//rn System.out.println("Please input second number");rn try rn BufferedReader br2=new BufferedReader(new InputStreamReader(System.in));rn secondnumber=br2.readLine();rn rn catch (IOException e2)rn System.out.print(e2.getMessage());rn rnrn//字符串转为 数字类型才能比较实际的数字大小 //rn//////////////////////////////////////rn if(Double.parseDouble(firstnumber)>Double.parseDouble(secondnumber))rn System.out.println("from big to small :"+firstnumber+"\t"+secondnumber);rn rn elsern System.out.println("from big to small :"+secondnumber+"\t"+firstnumber);rn rnrnrn rn rnrn
怎么比较两个日期的大小?
日期类型是“2005-12-1”,怎么比较?我是if strdate1>=strdate2 then rnmsgbox strdate1rn但是当strdate1=2006-6-5,strdate2为当前日期时,比较的结果是正好相反,我想问问这是什么原因?
两个float 怎么比较大小?
float prnfloat pricernif(price==p)rn这样可以吗?....rnc++怎么显示float 呢???
怎么比较两个float的大小
查了很多关于比较float大小的资料,都很乱,看起来懵懵的!有没有大牛来总结一下。。。。
在JS中怎么比较两个变量的大小?
form 中有两个下拉菜单:第一个名为year_from,第二个名为year_to,想实现查询“从某年到某年”的查询操作,在第一个数值大于第二个数值的时候弹出alert,请问这两个数值应该如何比较?rn试过“form.year_from.value>form.year_to.value”,但是不好用。rn谢谢!
java比较两个日期大小
代码部分: 1.比较两个字符串类型的日期 方法一: import java.text.SimpleDateFormat; import java.util.Date; /** * 比较二个字符串时间的大小 */ public class TimeSizeComparison { public static void main(String[] args) { SimpleDat...
java之比较两个日期大小
java之比较两个日期大小
怎么比较字符串日期的大小
CString time1 ="2007-06-13 10:10:10";rnCString time2 ="2007-06-13 20:10:10";rnrnrnCTime tNow = CTime::GetCurrentTime ();rnCString szMsgBuffer = tNow.Format ("%Y-%m-%d %H:%M:%S");rnif(szMsgBuffer > time1 && time2 < szMsgBuffer)rn rn AfxMessageBox("ye");rnrn rn elseAfxMessageBox("no");
Java之两个double 比较大小
double a = 0.001; double b = 0.0011; BigDecimal data1 = new BigDecimal(a); BigDecimal data2 = new BigDecimal(b); data1.compareTo(data2) 非整型数,运算由于精度问题,可能会有误差,建议使用BigDecimal类型! public int com
Java 比较两个日期的大小
public static int compare_date(String DATE1, String DATE2, SimpleDateFormat df) { try { Date dt1 = df.parse(DATE1); Date dt2 = df.parse(DATE2); if (dt1.getTime() &amp;gt; dt2.getTime(...
java比较日期大小
import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;/**** @author hp*/public class test {    public static void main(String args[]) {       int i= compare_date("199
中文字符串怎么比较大小
比如 rna = “张三” rnb = “李四”rnrn按拼音应该a>b 应该怎么比较啊?
字符串怎么比较大小的呢??
字符串怎么比较大小的呢??
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法