1:数组方面:
数组是一个对象,数组名可以理解和C++里面一样,
1):System.arraycopy(src,srcindex,dst,dstindex,src.length)
2):java.util.Arrays.sort(数组名)//块数排序法进行排序
3):java.util.Arrays.binarySearch(arr,key)//从哪里收,关键值,返回索引.没有的话返回-1
4):java.util.Array.fill(arr,value),设置数组初始值
5):Array.equals(arr1,arr2)//比较两个数组中元素是不是全部相等,是返回true,不是返回false
2:时间方面:
public static String dateToStr(java.util.Date date)
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
String str = sdf.format(date)
return str
}
import java.text.SimpleDateFormat
import java.util.Calendar
public class DateUtil
{
public static java.util.Date parseDate(String dateStr, String format)
{
java.util.Date date = null
try
{
java.text.DateFormat df = new java.text.SimpleDateFormat(format)
String dt = dateStr.replaceAll("-", "/")
if ((!dt.equals("")) &&(dt.length() <format.length()))
{
dt += format.substring(dt.length()).replaceAll("[YyMmDdHhSs]", "0")
}
date = (java.util.Date) df.parse(dt)
}
catch (Exception e)
{
}
return date
}
public static java.util.Date parseDate(String dateStr)
{
return parseDate(dateStr, "yyyy/MM/dd")
}
public static String format(java.util.Date date, String format)
{
String result = ""
try
{
if (date != null)
{
java.text.DateFormat df = new java.text.SimpleDateFormat(format)
result = df.format(date)
}
}
catch (Exception e)
{
}
return result
}
public static String format(java.util.Date date)
{
return format(date, "yyyy/MM/dd")
}
public static int getYear(java.util.Date date)
{
java.util.Calendar c = java.util.Calendar.getInstance()
c.setTime(date)
return c.get(java.util.Calendar.YEAR)
}
public static int getMonth(java.util.Date date)
{
java.util.Calendar c = java.util.Calendar.getInstance()
c.setTime(date)
return c.get(java.util.Calendar.MONTH) + 1
}
public static int getDay(java.util.Date date)
{
java.util.Calendar c = java.util.Calendar.getInstance()
c.setTime(date)
return c.get(java.util.Calendar.DAY_OF_MONTH)
}
public static int getHour(java.util.Date date)
{
java.util.Calendar c = java.util.Calendar.getInstance()
c.setTime(date)
return c.get(java.util.Calendar.HOUR_OF_DAY)
}
public static int getMinute(java.util.Date date)
{
java.util.Calendar c = java.util.Calendar.getInstance()
c.setTime(date)
return c.get(java.util.Calendar.MINUTE)
}
public static int getSecond(java.util.Date date)
{
java.util.Calendar c = java.util.Calendar.getInstance()
c.setTime(date)
return c.get(java.util.Calendar.SECOND)
}
public static long getMillis(java.util.Date date)
{
java.util.Calendar c = java.util.Calendar.getInstance()
c.setTime(date)
return c.getTimeInMillis()
}
public static String getDate(java.util.Date date)
{
return format(date, "yyyy/MM/dd")
}
public static String getTime(java.util.Date date)
{
return format(date, "HH:mm:ss")
}
public static String getDateTime(java.util.Date date)
{
return format(date, "yyyy/MM/dd HH:mm:ss")
}
public static java.util.Date addDate(java.util.Date date, int day)
{
java.util.Calendar c = java.util.Calendar.getInstance()
c.setTimeInMillis(getMillis(date) + ((long) day) * 24 * 3600 * 1000)
return c.getTime()
}
public static int diffDate(java.util.Date date, java.util.Date date1)
{
return (int) ((getMillis(date) - getMillis(date1)) / (24 * 3600 * 1000))
}
public static String getMonthBegin(String strdate)
{
java.util.Date date = parseDate(strdate)
return format(date, "yyyy-MM") + "-01"
}
public static String getMonthEnd(String strdate)
{
java.util.Date date = parseDate(getMonthBegin(strdate))
Calendar calendar = Calendar.getInstance()
calendar.setTime(date)
calendar.add(Calendar.MONTH, 1)
calendar.add(Calendar.DAY_OF_YEAR, -1)
return formatDate(calendar.getTime())
}
public static String formatDate(java.util.Date date)
{
return formatDateByFormat(date, "yyyy-MM-dd")
}
public static String formatDateByFormat(java.util.Date date, String format)
{
String result = ""
if (date != null)
{
try
{
SimpleDateFormat sdf = new SimpleDateFormat(format)
result = sdf.format(date)
}
catch (Exception ex)
{
ex.printStackTrace()
}
}
return result
}
}
Java日期格式化及其使用例子
1 SimpleDateFormat担当重任,怎样格式化都行
import java.util.Date
import java.text.SimpleDateFormat
public class Demo
{
public static void main(String[] args)
{
Date now=new Date()
SimpleDateFormat f=newSimpleDateFormat("今天是"+"yyyy年MM月dd日 E kk点mm分")
System.out.println(f.format(now))
f=new SimpleDateFormat("a hh点mm分ss秒")
System.out.println(f.format(now))
}
}
2 从字符串到日期类型的转换:
import java.util.Date
import java.text.SimpleDateFormat
import java.util.GregorianCalendar
import java.text.*
publicclass Demo
{
public static void main(String[] args)
{
String strDate="2005年04月22日"
//注意:SimpleDateFormat构造函数的样式与strDate的样式必须相符
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy年MM月dd日")
//必须捕获异常
try
{
Date date=simpleDateFormat.parse(strDate)
System.out.println(date)
}
catch(ParseException px)
{
px.printStackTrace()
}
}
}
3 将毫秒数换转成日期类型
import java.util.Date
import java.text.SimpleDateFormat
import java.util.GregorianCalendar
import java.text.*
public class Demo
{
public static void main(String[] args)
{
long now=System.currentTimeMillis()
System.out.println("毫秒数:"+now)
Date dNow=new Date(now)
System.out.println("日期类型:"+dNow)
}
}
4 获取系统时期和时间,转换成SQL格式后更新到数据库
java.util.Date d=new java.util.Date() //获取当前系统的时间
//格式化日期
new java.text.SimpleDateFormat s= new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
String dateStr = s.format(d)//转为字符串
使用RS更新数据库,仍然要用rs.updateString,而不是rs.updateDade。
rs.updateString("regtime",dateStr) //regtime字段为datetime类型的
5 按本地时区输出当前日期
Date myDate = new Date()
System.out.println(myDate.toLocaleString())
输出结果为:
2003-5-30
6 如何格式化小数
DecimalFormat df = new DecimalFormat(",###.00")
double aNumber = 33665448856.6568975
String result = df.format(aNumber)
Sytem. out.println(result)
输出结果为:
33,665,448,856.66
其他:获取毫秒时间 System.currentTimeMillis()
7 在数据库里的日期只以年-月-日的方式输出
定义日期格式:SimpleDateFormat sdf = new SimpleDateFormat(yy-MM-dd)
sql语句为:String sqlStr = "select bookDate from roomBook where bookDate between '2007-4-10' and '2007-4-25'"
输出:
System.out.println(df.format(rs.getDate("bookDate")))
在Java中在数组中保存10个数,调用下面的排序函数,用选择法按降序排序:public static void selectionSort(int[] arr){ for (int i = 0i <arr.length - 1i++) {int max = i for (int j = i + 1j <arr.lengthj++) { if (arr[max] <arr[j]) { max = j }}if (max != i) { int tmp = arr[max] arr[max] = arr[i] arr[i] = tmp } } }在排序中,最重要的是自己实现自己的比较的行数,即是implements Comparator实现方法 public int compare(Object o1, Object o2) 最为重要..
举个例子:
package book.arrayset
import java.util.Comparator
/**
* 整数比较器,将整数按降序排列
*/
class MyIntComparator implements Comparator{
/**
* o1比o2大,返回-1;o1比o2小,返回1。
*/
public int compare(Object o1, Object o2) {
int i1 = ((Integer)o1).intValue()
int i2 = ((Integer)o2).intValue()
if (i1 <i2){
return 1
}
if (i1 >i2){
return -1
}
return 0
}
}
//上面的为比较的函数实现,下面真正的添加数据,
//通过调用上面的比较函数实现自定义排序的功能
package book.arrayset
import java.util.ArrayList
import java.util.Collections
import java.util.List
/**
* 对List中的元素排序
*/
public class SortList {
public static void output(List list){
if (list == null){
return
}
for (int i=0i<list.size()i++){
System.out.print(list.get(i).toString() + " ")
}
System.out.println()
}
public static void main(String[] args) {
List list = new ArrayList()
list.add(new Integer(5))
list.add(new Integer(8))
list.add(new Integer(1))
list.add(new Integer(3))
list.add(new Integer(2))
list.add(new Double(3.1))
System.out.println("list开始状态")
SortList.output(list)
//Collections.sort方法将用默认比较器排列list的元素
Collections.sort(list)
System.out.println("list被默认比较器排序后的状态")
SortList.output(list)
//下面将list的元素按降序排列
Collections.sort(list, new MyIntComparator())
System.out.println("list被自定义比较器排序后的状态")
SortList.output(list)
//因此,对于任意自定义类的对象,当保存在集合类容器中后,如果需要对它们进行排序,
//需要自己提供适应于自定义类的比较器,自定义比较器必须实现Comparator接口。
//然后采用Collections.sort(list, comparator)方法对容器进行排序。
}
}