-
2020-03-02 18:03:02
日期字符串比较大小
public class Timetest { public static void main(String[] args) { // TODO Auto-generated method stub String str1="2015-02-08 20:20:20"; String str2="2015-01-08 10:10:10"; int res=str1.compareTo(str2); if(res>0) System.out.println("str1>str2"); else if(res==0) System.out.println("str1=str2"); else System.out.println("str1<str2"); } }
日期类自带before/after
用String的compareTo()方法跟字符串使用方法相同
String beginTime=new String("2017-06-09 10:22:22"); String endTime=new String("2017-05-08 11:22:22"); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date sd1=df.parse(beginTime); Date sd2=df.parse(endTime); System.out.println(sd1.before(sd2)); System.out.println(sd1.after(sd2)); Integer i=beginTime.compareTo(endTime);
更多相关内容 -
php实现比较两个字符串日期大小的方法
2020-10-24 06:17:01主要介绍了php实现比较两个字符串日期大小的方法,涉及php日期操作的相关技巧,需要的朋友可以参考下 -
MySQL中字符串比较大小(日期字符串比较问题)
2022-01-05 16:54:06MySQL中字符串比较大小(日期字符串比较问题) 数据库中在对于数字与非数字混合的字符串,在进行大小比较的时候,如果两字符串长度相等,那么两字符串就会比较相同位置的字符,比较时若字符是数字,则直接比较,若...MySQL中字符串比较大小(日期字符串比较问题)
数据库中在对于数字与非数字混合的字符串,在进行大小比较的时候,如果两字符串长度相等,那么两字符串就会比较相同位置的字符,比较时若字符是数字,则直接比较,若字符是非数字那么会转换为ascii码进行比较,若在某位置上已经有大小之分,那么就不会再进行比较。
如上所述,当字符串用于比较时间格式数据进行时间维度的比较时会出现问题。如以下sql进行查询时
select * FROM work_day_content as wdc WHERE wdc.work_day >= '2019-09-30 00:00:00' AND wdc.work_day<= '2019-10-06 00:00:00'
图1-1
如图1-1所示,没有查询出任何条件
当使用日期函数把字符串转化为日期时
select * FROM work_day_content as wdc where date(wdc.work_day) >= date('2019-09-30 00:00:00' ) AND date(wdc.work_day)<= date('2019-09-30 00:00:00' )
图1-2
如图1-2所示,查出了符合条件的数据
分析为何第一个sql语句没有查询出内容。由于该字段使用的是字符串形式存储,因此此时比较大小采用的是字符串方式比较大小。
字符串方式比较大小是从左往右进行匹配。对于长度不同的字符串进行匹配时。较短字符串比较完后还没有大小之分。则较长的字符串较大。如下面sql所示
select '2019-09-30 ' < '2019-09-30 00:00:00'
发现此时**字符串’2019-09-30 00:00:00’**较大。因此之前的sql没有查出日期为2019-09-30的数据
因此。在使用字符串表示时间时,需要使用时间函数进行比较。
sql提供的时间函数有:date(), str_to_date()
另外,在mysql当中,字符串类型间进行加减乘除运算的时候,会截取字符串以数字开头的那一部分数字进行运算,如果字符串前面没有数字,那么就只能截取的数值为0,那么进行加减的时候结果都是0,进行乘除的时候结果都是NULL。
-
【js】日期字符串比较大小
2017-05-09 16:11:17/* 日期字符串比较大小 */ function compareDate(DateOne, DateTwo) { var OneMonth = DateOne.substring(5, DateOne.lastIndexOf("-")); var OneDay = DateOne.substring(DateOne.length, DateOne.lastIndexO/* 日期字符串比较大小 */ function compareDate(DateOne, DateTwo) { var OneMonth = DateOne.substring(5, DateOne.lastIndexOf("-")); var OneDay = DateOne.substring(DateOne.length, DateOne.lastIndexOf("-") + 1); var OneYear = DateOne.substring(0, DateOne.indexOf("-")); var TwoMonth = DateTwo.substring(5, DateTwo.lastIndexOf("-")); var TwoDay = DateTwo.substring(DateTwo.length, DateTwo.lastIndexOf("-") + 1); var TwoYear = DateTwo.substring(0, DateTwo.indexOf("-")); if (Date.parse(OneMonth + "/" + OneDay + "/" + OneYear) > Date.parse(TwoMonth + "/" + TwoDay + "/" + TwoYear)) { return 1; } else { return -1; } }
-
JS实现字符串转日期并比较大小实例分析
2020-11-25 20:11:52本文实例分析了JS实现字符串转日期并比较大小的方法。分享给大家供大家参考,具体如下: 方法1: function compareDate(DateOne, DateTwo) { var OneMonth = DateOne.substring(5, DateOne.lastIndexOf("-")); ... -
Python日期字符串比较
2021-02-09 10:47:51作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 需要用python的脚本来快速检测一个文件内的二个时间日期字符串的大小,其实实现很简单,首先一些基础的日期格式化知识如下'''%a星期的简写。...作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 需要用python的脚本来快速检测一个文件内的二个时间日期字符串的大小,其实实现很简单,首先一些基础的日期格式化知识如下
'''
%a星期的简写。如 星期三为Web
%A星期的全写。如 星期三为Wednesday
%b月份的简写。如4月份为Apr
%B月份的全写。如4月份为April
%c: 日期时间的字符串表示。(如: 04/07/10 10:43:39)
%d: 日在这个月中的天数(是这个月的第几天)
%f: 微秒(范围[0,999999])
%H: 小时(24小时制,[0, 23])
%I: 小时(12小时制,[0, 11])
%j: 日在年中的天数 [001,366](是当年的第几天)
%m: 月份([01,12])
%M: 分钟([00,59])
%p: AM或者PM
%S: 秒(范围为[00,61],为什么不是[00, 59],参考python手册~_~)
%U: 周在当年的周数当年的第几周),星期天作为周的第一天
%w: 今天在这周的天数,范围为[0, 6],6表示星期天
%W: 周在当年的周数(是当年的第几周),星期一作为周的第一天
%x: 日期字符串(如:04/07/10)
%X: 时间字符串(如:10:43:39)
%y: 2个数字表示的年份
%Y: 4个数字表示的年份
%z: 与utc时间的间隔 (如果是本地时间,返回空字符串)
%Z: 时区名称(如果是本地时间,返回空字符串)
%%: %% => %
'''
然后需要了解python中time,datetime,字符串时间之间的转换关系,如下代码是三者之间的转换关系
jsontime = '2017-04-03'
#string->time
time.strptime(jsontime,"%Y-%m-%d")
#string->datetime
datetime.datetime.strptime(jsontime,"%Y-%m-%d")
#time->string
time.strftime("%y-%m-%d",time.localtime())
那么有了转换关系以后,比较大小就很容易了,比如我可以把日期字符串转换成time的时间戳来比较大小,如下
import time
def compare_time(time1,time2):
s_time = time.mktime(time.strptime(time1,'%Y-%m-%d'))
e_time = time.mktime(time.strptime(time2,'%Y-%m-%d'))
print 's_time is:',s_time
print 'e_time is:',e_time
return int(s_time) - int(e_time)
result = compare_time('2017-04-17','2017-04-19')
print 'the compare result is:',result
当然也可以利用datetime来比较字符串的大小
import datetime
d1 = datetime.datetime.strptime('2015-03-05 17:41:20', '%Y-%m-%d %H:%M:%S')
d2 = datetime.datetime.strptime('2015-03-02 17:41:20', '%Y-%m-%d %H:%M:%S')
delta = d1 - d2
print delta.days
-
时间字符串比较大小
2020-04-15 21:29:52比较简单的方法是可以使用String类中的compareTo()方法比较 //格式一 String date1 = "2019-01-21"; String date2 = "2019-02-12"; //格式二 String date1 = "20190121"; String date2 = "20190212... -
两个日期格式字符串比较大小
2019-07-10 11:20:59思路: 将日期的字符串类型转为数字类型 // start 和end为指定时间的首尾时间点, 且是标准日期格式: yyyy-MM-dd HH:mm:ss /* 判断值指定的时间段是够有重复的套餐订单: * 有以下几种可能: * ① 指定时间段与原... -
Java:日期字符串格式大小比较
2020-07-19 11:45:49Java:日期字符串格式大小比较 public class Timetest { public static void main(String[] args) { String str1="2015-02-08 20:20:20"; String str2="2015-01-08 10:10:10"; int res=str1.compareTo(str2); ... -
C# 比较日期字符串的大小
2019-11-23 13:52:44if (IsDate(xText) && IsDate(yText)) { compareResult = CompareDate(xText, yText); } /// <summary> /// 判断字符串是否是日期 /// </summary> /// ... -
yyyy-MM-dd类型的日期字符串比较大小
2017-01-23 10:37:22在编程过程中,经常会遇到日期字符串的排序,日期常见格式是yyyy-MM-dd类型,实现了两个日期之间的比较,就可以采用常规排序算法进行排序。 比如,我们要比较2016-09-22和2016-07-17的大小,思路很简单,将日期分割... -
js 比较字符串日期大小
2020-11-04 11:02:08使用 Date.parse(str) 函数,返回该字符串所表示的日期与 1970 年 1 月 1 日午夜之间相差的毫秒数 var d1 = Date.parse(dateStr1) var d2 =Date.parse(dateStr2) 然后再将 日期1 与 日期2 做对比即可 if(d1>... -
【Shell】字符串比较大小
2022-01-28 14:39:45#判断字符串是否相等 if [ "$A" == "$B" ];then echo "[ == ]" else echo "[ != ]" fi 输出 lionelhao@bogon OffWork % ./demo.sh abc ABC 输入的原始值:A=abc,B=ABC [ != ] 知识点 if-else 写法 if ... -
js 两个字符串格式的日期如何比大小
2022-04-18 11:26:54js 两个字符串日期格式的日期比大小 -
字符串格式的日期比较大小
2018-09-30 11:22:30oracle中如果数据库中存储的日期市字符串格式的,在进行比较时候需要进行转换 如设计表 SELECT * FROM dw_studio_success_stat t1 WHERE to_date(t1.achievement_time, 'yyyy-mm-dd')>to_date('2017... -
Java中如何比较两个字符串类型日期的大小
2020-07-22 19:26:34如何在后台判断两个字符串类型日期的大小 前段时间本人遇到了一个和活动时间有关的需求,需要判断该时间处于哪个时间段内。因为平时判断时间都是在数据库里进行的,对于代码判断日期不太熟悉,所以查看了一些资料,... -
如何比较两个时间字符串的大小 现在有两个字符串
2019-05-16 21:28:10如何比较两个时间字符串的大小 现在有两个字符串, 是从表单读取来的日期性,“2003-10-12”与“2003-10-21”, 现在如何判断他们的大小。如果不想再转为date类型比较有一种简单的方法String a=“2003-10-12”; ... -
比较两个字符串日期大小的方法
2019-03-16 16:57:12let startDate = '2019-3-15 12:25:36'; let endDate = '2019-4-23 12:36:45'; let result = Date.parse(endDate.trim().replace(/-/g, '/')) > Date.parse(startDate.trim().replace(/-/g, '/'));... -
Java 实现字符串型日期对比大小
2020-07-07 16:51:30* @description: 两个String类型,按照日期格式对比 * eg: * dateOne:2015-12-26 * dateTwo:2015-12-26 * dateFormatType: yyyy-MM-dd * 返回类型:-1:dateOne小于dateTwo, 0:dateOne=dateTwo -
比较两个时间字符串的大小
2019-02-28 17:35:19有两个日期字符串,“2019-01-21”和“2019-02-12”,现在需要比较这两个字符串的大小。 比较简单的方法是可以使用String类中的compareTo()方法比较,例如: public class Test { public static void main... -
java 两日期字符串比较大小以及compareTo详解
2017-09-18 14:40:01compareTo() 方法用于将 Number 对象与方法的参数进行比较。可用于比较 Byte, Long, Integer等。 该方法用于两个相同数据类型的比较,两个不同类型的数据不能用此方法来比较。 语法 public int compareTo( ... -
Java字符串日期和时间如何比较“大小
2019-08-07 21:24:341.Java比较两个字符串日期前后(大小) //开始日期("2019-08-07") String startDate = dailyEvent.getStartDate(); //开始日期("2019-08-07") String endDate = dailyEvent.getEndDate(); //校验:开始日期必须小于... -
js-比较两个日期的大小的方法【字符串比较和时间撮比较】
2019-08-16 12:45:17let a = Date.parse("8/31/2019"); let b = Date.parse("9/01/2019"); console.log(a, b, a > b, "8/31/2019" > "8/20/2019"); -
js字符串日期直接比较大小
2016-12-02 11:42:44今天遇见了个bug,运行一年的项目突然日期比较错误了,最后发现是字符串日期直接比较的原因。下面直接来调试结果:很多人多说js字符串日期能直接比较,比较智能alert("2016-10-01" > "2016-10-02");//false//这里... -
Linux Shell日期比较,数值比较和字符串比较及相关
2018-07-30 10:23:21Linux Shell日期比较,数值比较和字符串比较及相关 说明: 1. 把字符串当成整型进行比较,由于abcd等字符对不上0123当程序尝试去转成二进制时无法完成转换,所以用于数值比较的运算不能用于字符串比较;但是把整型...