几个特殊类Math&Runtime&System&Random&Date&Calendar&DateFormat

本文介绍Java中日期时间的处理方法,包括日期格式化、解析、日期与毫秒值的转换及利用Calendar类进行日期计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.util.*;
import java.text.*;
class DateTest
{
//计算两日期间天数
//"2012-3-17"到"2012-4-6"
public static void main(String args[]) throws Exception{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateStr1 = "2012-3-17",dateStr2 = "2012-4-6";
Date date1 = sdf.parse(dateStr1);
Date date2 = sdf.parse(dateStr2);
long scope = Math.abs(date1.getTime() - date2.getTime());
System.out.println(scope/(24*60*60*1000));
}
}

————————————————————————————————————————————————————————————

package cn.itcast.p1.otherapi;



import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;


public class DateDemo {


/**
* @param args
* @throws ParseException 
*/
public static void main(String[] args) throws ParseException {


methodDemo_3();



}



/**
* 将日期格式的字符串-->日期对象。
* 使用的是DateFormat类中的parse()方法。 

* @throws ParseException 
*/
public  static void methodDemo_3() throws ParseException {

String str_date = "2012年4月19日";
str_date = "2011---8---17";


DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG);

dateFormat = new SimpleDateFormat("yyyy---MM---dd");


Date date = dateFormat.parse(str_date);

System.out.println(date);


}




/**
* 对日期对象进行格式化。
* 将日期对象-->日期格式的字符串。
* 使用的是DateFormat类中的format方法。






*/
public static void methodDemo_2() {

Date date = new Date();

//获取日期格式对象。具体着默认的风格。 FULL LONG等可以指定风格。
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG);
dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);
// System.out.println(dateFormat);

//如果风格是自定义的如何解决呢?
dateFormat = new SimpleDateFormat("yyyy--MM--dd");

String str_date = dateFormat.format(date);

System.out.println(str_date);
}



/**
* 日期对象和毫秒值之间的转换。

* 毫秒值-->日期对象 : 
* 1,通过Date对象的构造方法  new Date(timeMillis);
*  2,还可以通过setTime设置。 
*  因为可以通过Date对象的方法对该日期中的各个字段(年月日等)进行操作。
*  

* 日期对象-->毫秒值:
* 2,getTime方法。
* 因为可以通过具体的数值进行运算。 


*/
public static void methodDemo_1() {
long time = System.currentTimeMillis();//
// System.out.println(time);//1335671230671

Date date = new Date();//将当前日期和时间封装成Date对象。
System.out.println(date);//Sun Apr 29 11:48:02 CST 2012

Date date2 = new Date(1335664696656l);//将指定毫秒值封装成Date对象。
System.out.println(date2);
}




}

_______________________________________________________________________________________________________________________________

import java.util.*;
import java.text.*;
class DateTest
{
public static void main(String args[]) throws Exception{
method3();
}

public  static void method3() throws ParseException {

String str_date = "2012年4月19日";
str_date = "2011---8---17";

DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG);
dateFormat = new SimpleDateFormat("yyyy---MM---dd");

Date date = dateFormat.parse(str_date);
System.out.println(date);//Wed Aug 17 00:00:00 CST 2011


}

public static void method2(){
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG);
String longDate = dateFormat.format(new Date());
System.out.println(longDate);//2014年8月28日

dateFormat = DateFormat.getDateInstance(DateFormat.SHORT);
String shortDate = dateFormat.format(new Date());
System.out.println(shortDate);//14-8-28

dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);
String timeDate = dateFormat.format(new Date());
System.out.println(timeDate);//2014年8月28日 上午08时55分07秒

dateFormat = new SimpleDateFormat("yyyy年MM月dd日");
String simpleDate = dateFormat.format(new Date());
System.out.println(simpleDate);//2014年08月28日
}

public static void method1(){
long times = System.currentTimeMillis();

Date date = new Date();
System.out.println(date.toLocaleString());

date = new Date(times+10000000);
System.out.println(date);
}
}

——————————————————————————————————————————————————————————————————————————

package cn.itcast.p1.otherapi;


import java.util.Calendar;


public class CalendarDemo {


/**
* @param args
*/
public static void main(String[] args) {


Calendar c = Calendar.getInstance();

int year = 2012;
showDays(year);
}


/**
* @param c
*/
public static void showDays(int year) {

Calendar c = Calendar.getInstance();
c.set(year, 2, 1);

c.add(Calendar.DAY_OF_MONTH, -1);

showDate(c);
}


/**
* @param c
*/
public static void showDate(Calendar c) {
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;
int day = c.get(Calendar.DAY_OF_MONTH);
int week = c.get(Calendar.DAY_OF_WEEK);


System.out.println(year+"年"+month+"月"+day+"日"+getWeek(week));
}


public static String getWeek(int i) {

String[] weeks = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};

return weeks[i];
}




}


——————————————————————————————————————————————————————————————————————————

import java.util.*;

class RuntimeDemo{

public static void main(String args[]) throws Exception{
MathMethod();
}


public static void MathMethod(){
float f = 3.2f;
System.out.println(Math.ceil(f));
System.out.println(Math.floor(f));
System.out.println(Math.round(f));
System.out.println(Math.pow(f,2));

double d = 2.2;
System.out.println(d);

//java.lang.Math random()
int randomNum1 = (int)(Math.random()*10)+1;
int randomNum2 = (int)(Math.random()*10)+1;
System.out.println(randomNum1);
System.out.println(randomNum2);

//java.util.Random
Random random = new Random();
System.out.println(random.nextInt(10)+1);
System.out.println(random.nextInt(10)+1);
}

private static final String LINE_SEPARATOR = System.getProperty("line.separator");

public static void SystemMethod(){
/*
* System:类中的方法和属性都是静态的。


* 常见方法:
* long currentTimeMillis();获取当前时间的毫秒值。 

*/

// long l1 = 1335664696656l;//System.currentTimeMillis();
// System.out.println(l1/1000/60/60/24);//1335664696656
// code..
// long l2 = System.currentTimeMillis();
// System.out.println(l2-l1);



System.out.println("hello-"+LINE_SEPARATOR+" world");
// demo_1();
//给系统设置一些属性信息。这些信息是全局,其他程序都可以使用。 
// System.setProperty("myclasspath", "c:\myclass");



//获取系统的属性信息,并存储到了Properties集合中。 
/*
* properties集合中存储都是String类型的键和值。
* 最好使用它自己的存储和取出的方法来完成元素的操作。
*/
Properties prop = System.getProperties();

Set<String> nameSet = prop.stringPropertyNames();

for(String name : nameSet){
String value = prop.getProperty(name);

System.out.println(name+"::"+value);
}
}

public static void RuntimeMethod() throws Exception{
Runtime runtime = Runtime.getRuntime ();
Process process = runtime.exec("notepad.exe"); 
Thread.sleep(2000);
process.destroy();
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值