① 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;
}
}