代码改变世界

java中的System类的一些应用和日期的操作实例

2011-08-22 22:39  Rollen Holt  阅读(1517)  评论(0编辑  收藏  举报
/**
 * @author Rollen-Holt 计算一个程序的执行时间
 */
class hello{
	public static void main(String[] args){
		long startTime = System.currentTimeMillis();
		for(int i = 0; i < 1000000; ++i) {
			String str=new String("dad");
		}
		long endTime=System.currentTimeMillis();
		System.out.println("程序的运行时间为: "+(endTime-startTime)+"毫秒");
	}
}

  【运行结果】:

程序的运行时间为: 28毫秒

/**
 * @author Rollen-Holt 
 * 获取本机的一些属性
 */
class hello{
	public static void main(String[] args){
		System.getProperties().list(System.out);
	}
}

  【运行结果】:

-- listing properties --

java.runtime.name=Java(TM) SE Runtime Environment

sun.boot.library.path=D:\Program Files\Java\jdk1.6.0_23\jre...

java.vm.version=19.0-b09

java.vm.vendor=Sun Microsystems Inc.

java.vendor.url=http://java.sun.com/

path.separator=;

java.vm.name=Java HotSpot(TM) Client VM

file.encoding.pkg=sun.io

user.country=CN

sun.java.launcher=SUN_STANDARD

sun.os.patch.level=Service Pack 1

java.vm.specification.name=Java Virtual Machine Specification

user.dir=F:\我的文件\我的资料\我的学习资料\我的程序\java\hello

java.runtime.version=1.6.0_23-b05

java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment

java.endorsed.dirs=D:\Program Files\Java\jdk1.6.0_23\jre...

os.arch=x86

java.io.tmpdir=C:\Users\ROLLEN~1\AppData\Local\Temp\

line.separator=

 

java.vm.specification.vendor=Sun Microsystems Inc.

user.variant=

os.name=Windows 7

sun.jnu.encoding=GBK

java.library.path=D:\Program Files\Java\jdk1.6.0_23\bin...

java.specification.name=Java Platform API Specification

java.class.version=50.0

sun.management.compiler=HotSpot Client Compiler

os.version=6.1

user.home=C:\Users\Rollen-Holt

user.timezone=

java.awt.printerjob=sun.awt.windows.WPrinterJob

file.encoding=GBK

java.specification.version=1.6

user.name=Rollen-Holt

java.class.path=F:\我的文件\我的资料\我的学习资料\我的程序\java\hello\bin

java.vm.specification.version=1.0

sun.arch.data.model=32

java.home=D:\Program Files\Java\jdk1.6.0_23\jre

java.specification.vendor=Sun Microsystems Inc.

user.language=zh

awt.toolkit=sun.awt.windows.WToolkit

java.vm.info=mixed mode, sharing

java.version=1.6.0_23

java.ext.dirs=D:\Program Files\Java\jdk1.6.0_23\jre...

sun.boot.class.path=D:\Program Files\Java\jdk1.6.0_23\jre...

java.vendor=Sun Microsystems Inc.

file.separator=\

java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport...

sun.cpu.endian=little

sun.io.unicode.encoding=UnicodeLittle

sun.desktop=windows

sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+m...

 

/**
 * @author Rollen-Holt 
 * 获取本机的指定属性
 */
class hello{
	public static void main(String[] args){
		//操作系统名称
		System.out.println(System.getProperty("os.name"));  
		//系统版本
		System.out.println(System.getProperty("os.version"));
		System.out.println(System.getProperty("os.arch"));
		//用户名
		System.out.println(System.getProperty("user.name"));
		//用户目录
		System.out.println(System.getProperty("user.home"));
		//当前的工作目录
		System.out.println(System.getProperty("user.dir"));
	}
}

  【运行结果】:

Windows 7

6.1

x86

Rollen-Holt

C:\Users\Rollen-Holt

F:\我的文件\我的资料\我的学习资料\我的程序\java\hello

/**
 * @author Rollen-Holt 
 * System类的gc方法
 */
class Person{
	
	Person(String name){
		this.name=name;
	}
	public String toString(){
		return this.name;
	}
	public void finalize(){
		System.out.println("对象释放"+this);
	}
	
	private String name;
}

class hello{
	public static void main(String[] args){
		Person per=new Person("Rollen");
		per=null;
		System.gc();
	}
}

  【运行结果】:对象释放Rollen

/**
 * 一些常用的日期操作类
 * */
import java.util.Date;
class hello{
	public static void main(String[] args){
		System.out.println(new Date());
	}
}

  

/**
 * 一些常用的日期操作类
 * */
import java.util.*;
class hello{
	public static void main(String[] args){
		Calendar cal=new GregorianCalendar();
		System.out.println("年"+cal.get(Calendar.YEAR));
		System.out.println("月"+(cal.get(Calendar.MONTH)+1));
		System.out.println("日"+cal.get(Calendar.DAY_OF_MONTH));
		System.out.println("时"+cal.get(Calendar.HOUR));
		System.out.println("分"+cal.get(Calendar.MINUTE));
		System.out.println("秒"+cal.get(Calendar.SECOND));
		System.out.println("毫秒"+cal.get(Calendar.MILLISECOND));
	}
}

  【运行结果】:

2011

8

22

9

50

31

毫秒480

/**
 * DateFormat类
 * */
import java.util.*;
import java.text.*;
class hello{
	public static void main(String[] args){
		DateFormat dal1=DateFormat.getDateInstance();
		DateFormat dal2=DateFormat.getDateTimeInstance();
		System.out.println("日期"+dal1.format(new Date()));
		System.out.println("日期时间"+dal2.format(new Date()));
	}
}

  【运行结果】:

日期2011-8-22

日期时间2011-8-22 21:55:08

/**
 * DateFormat类
 * */
import java.util.*;
import java.text.*;
class hello{
	public static void main(String[] args){
		DateFormat dal1=DateFormat.getDateInstance(DateFormat.YEAR_FIELD,new Locale("zh","CN"));
		
		DateFormat dal2=DateFormat.getDateTimeInstance(DateFormat.YEAR_FIELD,DateFormat.ERA_FIELD,new Locale("zh","CN"));
		System.out.println("日期"+dal1.format(new Date()));
		System.out.println("日期时间"+dal2.format(new Date()));
	}
}

  【运行结果】:

日期2011822

日期时间2011822 下午095753 CST

/**
 * SimpleDateFormat类
 * */
import java.util.*;
import java.text.*;
class hello{
	public static void main(String[] args){
		String date="2011-08-22 10:11:30.345";
		//准备第一个模板
		String pat1="yyyy-MM-dd HH:mm:ss.SSS";
		//准备第二个模板
		String pat2="yyyy年-MM月-dd日 HH时 mm分  ss秒 SSS毫秒 ";
		SimpleDateFormat sim1=new SimpleDateFormat(pat1);
		SimpleDateFormat sim2=new SimpleDateFormat(pat2);
		
		Date d=null;
		try{
			d=sim1.parse(date);
			System.out.println(d);
		}catch(Exception e){
			e.printStackTrace();
		}
		System.out.println(sim2.format(d));
	}
}

 Mon Aug 22 10:11:30 CST 2011

2011-08-22 10 11  30 345毫秒

 

同时SimpleDateFormat也经常用于将String类型转换为Date类型

/**
 * SimpleDateFormat类
 * */
import java.util.*;
import java.text.*;

class hello{
	public static void main(String[] args) throws ParseException{
		String date = "2011-08-22 10:11:30.345";
		String pat1 = "yyyy-MM-dd HH:mm:ss.SSS";
		// String pat2="yyyy年-MM月-dd日 HH时 mm分  ss秒 SSS毫秒 ";
		SimpleDateFormat sim1 = new SimpleDateFormat(pat1);
		Date d = sim1.parse(date);
		System.out.println(d);

	}
}

  Mon Aug 22 10:11:30 CST 2011

/**
 * SimpleDateFormat类
 * */
import java.util.*;
import java.text.*;

class DateTIme{

	// 得到完整的日期,格式为:yyyy-MM-dd HH:mm:ss.SSS
	public String getDate(){
		this.sim = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
		return this.sim.format(new Date());
	}

	// 得到完整的日期,格式为:yyyy年-MM月-dd日 HH时 mm分 ss秒 SSS毫秒
	public String getDateComplete(){
		this.sim = new SimpleDateFormat("yyyy年-MM月-dd日 HH时 mm分  ss秒 SSS毫秒");
		return this.sim.format(new Date());
	}

	// 得到时间戳 格式为:yyyyMMddHHmmssSSS
	public String getTimeStmap(){
		this.sim = new SimpleDateFormat("yyyyMMddHHmmssSSS");
		return this.sim.format(new Date());
	}

	private SimpleDateFormat sim = null;

}

class hello{
	public static void main(String[] args) throws ParseException{
		DateTIme demo=new DateTIme();
		System.out.println(demo.getDate());
		System.out.println(demo.getDateComplete());
		System.out.println(demo.getTimeStmap());
	}
}

  【运行结果】:

2011-08-22 22:24:26.650

2011-08-22 22 24  26 650毫秒

20110822222426651