Date、Calender、 Math.Random对象

 DateCalender Math.Random对象


一、Date

1、类Date表示特定的瞬间,精准到毫秒。

2、类DateFormat是日期/时间格式化子类的抽象类,通过DateFormat的子类SimpleDateFormat方法来实现模式封装。然后调用format方法,指定Date对象格式化。

示例:

import java.sql.Date;
import java.text.SimpleDateFormat;

public class DateTest
{
	public static void main(String[] args)
	{
		Date date = new Date(System.currentTimeMillis());
		System.out.println(date);
		//将模式封装到SimpleDateFormat对象中
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E hh:mm:ss");
		//调用format方法,让模式格式化指定Date对象。
		String time = sdf.format(date);
		System.out.println("time= " + time);
	}
}


二、Calendar类

 Calendar中文意思是日历,是Java中关于日期操作最平凡的一个类,下面主要介绍一下重要时间的获取,时间格式,及时间比较。

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

public class MyCalender
{
	public static void main(String[] args) throws ParseException
	{
	   
	    // 完整显示日期时间  
	    String str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS")).format(new Date());  
	    print(str); 
	  
	    // 创建 Calendar 对象  
	    Calendar calendar = Calendar.getInstance();  
	    // 初始化 Calendar 对象,但并不必要,除非需要重置时间  
	    calendar.setTime(new Date());  
	  
	    // 显示年份  
	    int year = calendar.get(Calendar.YEAR);  
	    print("YEAR is = " + String.valueOf(year));  
	  
	    // 显示月份 (从0开始, 实际显示要加一)  
	    int MONTH = calendar.get(Calendar.MONTH);  
	    print("MONTH is = " + (MONTH + 1));  
	  
	    // 今年的第 N 天  
	    int DAY_OF_YEAR = calendar.get(Calendar.DAY_OF_YEAR);  
	    print("DAY_OF_YEAR is = " + DAY_OF_YEAR);  
	  
	    // 本月第 N 天  
	    int DAY_OF_MONTH = calendar.get(Calendar.DAY_OF_MONTH);  
	    print("DAY_OF_MONTH = " + String.valueOf(DAY_OF_MONTH));  
	  
	    // 3小时以后  
	    calendar.add(Calendar.HOUR_OF_DAY, 3);  
	    int HOUR_OF_DAY = calendar.get(Calendar.HOUR_OF_DAY);  
	    print("HOUR_OF_DAY + 3 = " + HOUR_OF_DAY);  
	  
	    // 当前分钟数  
	    int MINUTE = calendar.get(Calendar.MINUTE);  
	    print("MINUTE = " + MINUTE);  
	  
	    // 15 分钟以后  
	    calendar.add(Calendar.MINUTE, 15);  
	    MINUTE = calendar.get(Calendar.MINUTE);  
	    print("MINUTE + 15 = " + MINUTE);  
	  
	    // 30分钟前  
	    calendar.add(Calendar.MINUTE, -30);  
	    MINUTE = calendar.get(Calendar.MINUTE);  
	    print("MINUTE - 30 = " + MINUTE);  
	  
	    // 格式化显示  
	    str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendar.getTime());  
	    print(str);  
	  
	    // 重置 Calendar 显示当前时间  
	    calendar.setTime(new Date());  
	    str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendar.getTime());  
	    print(str);  
	  
	    // 创建一个 Calendar 用于比较时间  
	    Calendar calendarNew = Calendar.getInstance();  
	  
	    // 设定为 5 小时以前,后者大,显示 -1  
	    calendarNew.add(Calendar.HOUR, -5);  
	    print("时间比较:" + calendarNew.compareTo(calendar));  
	  
	    // 设定7小时以后,前者大,显示 1  
	    calendarNew.add(Calendar.HOUR, +7);  
	    print("时间比较:" + calendarNew.compareTo(calendar));  
	  
	    // 退回 2 小时,时间相同,显示 0  
	    calendarNew.add(Calendar.HOUR, -2);  
	    print("时间比较:" + calendarNew.compareTo(calendar));  
	    
	    
	    //两个时间之间的天数
	    SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");  
	    Date date= myFormatter.parse("2003-05-1");  
	    Date mydate= myFormatter.parse("1899-12-30"); 
	    long day=(date.getTime()-mydate.getTime())/(24*60*60*1000); 
	    print("2003-05-01 与 1899-12-30 之前相差天数: "+ day);
	    
	    
	}
	
	public static void  print(Object obj)
	{
		System.out.println(obj);
	}
}

三、Math.random()

1Math.random()是令系统随机选取大于等于 0.0 且小于 1.0 的伪随机 double 值,

2返回指定范围的随机数(m-n之间)的公式

 Math.random()*(n-m)+m

3、示例:

/**
 * Math.random()是令系统随机选取大于等于 0.0 且小于 1.0 的伪随机 double 值
 * 返回指定范围的随机数(m-n之间)的公式
 * Math.random()*(n-m)+m
 * 
 * 本题演示:随机生成6位数的字符串小写字母
 * @author Administrator
 *
 */
public class MathRandom
{
	public static void main(String[] args)
	{
		String result="";
		for(int i=0;i<6;i++){
		//生成97-122的int型的整型(97~122号为ASCII中26个小写英文字母)
		 int intValue = (int)(Math.random()*26+97);
		//将intValue强制转化成char类型后接到resul后面
		   result = result + (char)intValue;
		}
		//输出字符串
		System.out.println(result);
		}
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值