① java中如何找出一串时间序列中的最大,最小值
java.lang.String.compareTo(String)
public int compareTo(String anotherString)按字典顺序比较两个字符串。该比较基于字符串中各个字符的 Unicode 值。将此 String 对象表示的字符序列与参数字符串所表示的字符序列进行比较。如果按字典顺序此 String 对象在参数字符串之前,则比较结果为一个负整数。如果按字典顺序此 String 对象位于参数字符串之后,则比较结果为一个正整数。如果这两个字符串相等,则结果为 0;compareTo 只有在方法 equals(Object) 返回 true 时才返回 0。
这是字典排序的定义。如果这两个字符串不同,则要么它们在某个索引处具有不同的字符,该索引对二者均为有效索引,要么它们的长度不同,或者同时具备上述两种情况。如果它们在一个或多个索引位置上具有不同的字符,假设 k 是这类索引的最小值;则按照 < 运算符确定的那个字符串在位置 k 上具有较小的值,其字典顺序在其他字符串之前。这种情况下,compareTo 返回这两个字符串在位置 k 处的两个不同的 char 值,即值:
this.charAt(k)-anotherString.charAt(k)
如果它们没有不同的索引位置,则较短字符串在字典顺序上位于较长字符串的前面。这种情况下,compareTo 返回这两个字符串长度的不同,即值:
this.length()-anotherString.length()
指定者:
接口 Comparable<String> 中的 compareTo
参数:
anotherString - 要比较的 String。
返回:
如果参数字符串等于此字符串,则返回 0 值;如果按字典顺序此字符串小于字符串参数,则返回一个小于 0 的值;如果按字典顺序此字符串大于字符串参数,则返回一个大于 0 的值。
解决了比较大小的问题,最大值和最小值一个循环搞出来主可以了。
② 在java中当前时间取整到小时如何做, 比如当前时间为下午2点半,想得到一个Date型变量,格式化后显示为:
给时间加个格式:
Date date =new Date(System.currentTimeMillis());
SimpleDateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss "); String time = formatter.format(date);
System.out.println(time);
这样你要取整的话 , 把回 mm:ss设置为答00:00 就行。
③ java:急急急~怎样从数据中查询最大的一个日期或最小的一个日期呢
根据复日期字段进行升降序制排列
最大的一个日期select top 1 日期字段 from 表名 order by 日期字段 DESC
最小的一个日期select top 1 日期字段 from 表名 order by 日期字段 ASC
④ java中date的获取以及使用
1、使用new Date()获取当前日期,new Date().getTime()获取当前毫秒数
2、计算公式,等于获取的当前日期减去或者加上一天的毫秒数。一天的毫秒数的计算公式:24小时*60分钟*60秒*1000毫秒,也是86400000毫秒。
举例:
Date curDate = new Date();
var preDate = new Date(curDate.getTime() - 24*60*60*1000); //前一天
var nextDate = new Date(curDate.getTime() + 24*60*60*1000); //后一天
以下图片使用后台输出表示。
(4)javadate最小时间扩展阅读
var myDate = new Date();
myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-????)
myDate.getMonth(); //获取当前月份(0-11,0代表1月)
myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours(); //获取当前小时数(0-23)
myDate.getMinutes(); //获取当前分钟数(0-59)
myDate.getSeconds(); //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)
myDate.toLocaleDateString(); //获取当前日期
var mytime=myDate.toLocaleTimeString(); //获取当前时间
myDate.toLocaleString( ); //获取日期与时间
Date.prototype.isLeapYear 判断闰年
Date.prototype.Format 日期格式化
Date.prototype.DateAdd 日期计算
Date.prototype.DateDiff 比较日期差
Date.prototype.toString 日期转字符串
Date.prototype.toArray 日期分割为数组
Date.prototype.DatePart 取日期的部分信息
Date.prototype.MaxDayOfDate 取日期所在月的最大天数
Date.prototype.WeekNumOfYear 判断日期所在年的第几周
StringToDate 字符串转日期型
IsValidDate 验证日期有效性
CheckDateTime 完整日期时间检查
daysBetween 日期天数差
⑤ java中怎么得到当前时间的小时
Date date=new Date();
DateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time=format.format(date);
⑥ java 日期范围
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Test {
public static void main(String[] args) {
String[] ds = dates("20080531", "20080930");
for (int i = 0; i < ds.length; i++) {
System.out.println(ds[i]);
}
}
private static String[] dates(String start, String end) {
Calendar s = Calendar.getInstance();
s.setTime(stringToDate(start));
Calendar e = Calendar.getInstance();
e.setTime(stringToDate(end));
int range = e.get(Calendar.MONTH) - s.get(Calendar.MONTH);
String[] results = new String[range];
for (int i = 0; i < range; i++) {
s.add(Calendar.MONTH, 1);
s.set(Calendar.DATE, s.getActualMaximum(Calendar.DAY_OF_MONTH));
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
results[i] = start + "-" + sdf.format(s.getTime());
}
return results;
}
private static Date stringToDate(String date) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Date d = null;
try {
d = sdf.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
return d;
}
}