java学习笔记——有关时间的获得

获得时间

一、时间戳(自格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数)
1.使用System.currentTimeMills()

long time = System.currentTimeMillis();
System.out.println(time);//1587561295653

2.使用Date

Date date = new Date();
long time1 = date.getTime();
long time2 = date.getTime();

注:Date.getTime()返回Date对象创建的时间,即time1=time2
而System.currentTimeMills()返回的是这句语句执行时的时间。

例证:

import java.util.Date;

public class test {
	public static void main(String args[]) {
		Date date = new Date();
		
		long time1 = date.getTime();
		long t1 = System.currentTimeMillis();
		
		long sum = 0;
		for(int i=0;i<=100000;i++) {
			for(int j=0;j<=10;j++) {
				sum+=j;
			}
		}
		
		long time2 = date.getTime();
		long t2 = System.currentTimeMillis();
		
		System.out.print("Date型相减:");
		System.out.println(time2-time1 + "ms");
		System.out.print("System型相减:");
		System.out.println(t2-t1 + "ms");
		
	}
}

运行结果:

二、时间
1.使用Date获得

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

Date date = new Date();
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd :hh:mm:ss");
System.out.println(dateFormat.format(date));

运行结果:

2使用Calendar获得

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

Calendar calendar= Calendar.getInstance();
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd :hh:mm:ss");
System.out.println(dateFormat.format(calendar.getTime()));

运行结果:

3使用Calendar获得具体时间

Calendar calendar=Calendar.getInstance();      
int y=calendar.get(Calendar.YEAR);      
int m=calendar.get(Calendar.MONTH);      
int d=calendar.get(Calendar.DATE);      
int h=calendar.get(Calendar.HOUR_OF_DAY);      
int mi=calendar.get(Calendar.MINUTE);      
int s=calendar.get(Calendar.SECOND);      
System.out.println(y+"年"+m+"月"+d+"日"+h+"时"+mi+"分"+s+"秒");

运行结果:

发现这里出现了错误 4月22日变成了3月22日

4.使用System.currentTimeMills()

long time = System.currentTimeMillis();
long all_s = time / 1000;
long s = all_s % 60;
long all_m = all_s / 60;
long m = all_m % 60;
long all_h = all_m / 60;
long h = all_h % 24;
	         
System.out.println("总毫秒为: " + time);
System.out.println(h + ":" + m + ":" + s + " GMT");

运行结果:

注:此为格林威治时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值