Java 获取当前日期和时间


有两种方法:

方法一:用java.util.Date类来实现,并结合java.text.DateFormat类来实现时间的格式化,看下面代码:

import java.util.;
import java.text.
;
//以下默认时间日期显示方式都是汉语语言方式
//一般语言就默认汉语就可以了,时间日期的格式默认为MEDIUM风格,比如:20018-6-16 20:54:53
//以下显示的日期时间都是再Date类的基础上的来的,还可以利用Calendar类来实现见类TestDate2.java
public class TestDate {
public static void main(String[] args) {
Date now = new Date();
Calendar cal = Calendar.getInstance();

  DateFormat d1 = DateFormat.getDateInstance(); //默认语言(汉语)下的默认风格(MEDIUM风格,比如:20018-6-16 20:54:53)
  String str1 = d1.format(now);
  DateFormat d2 = DateFormat.getDateTimeInstance(); 
  String str2 = d2.format(now); 
  DateFormat d3 = DateFormat.getTimeInstance(); 
  String str3 = d3.format(now); 
  DateFormat d4 = DateFormat.getInstance(); //使用SHORT风格显示日期和时间
  String str4 = d4.format(now);

  DateFormat d5 = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL); //显示日期,周,时间(精确到秒)
  String str5 = d5.format(now);
  DateFormat d6 = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG); //显示日期。时间(精确到秒)
  String str6 = d6.format(now);
  DateFormat d7 = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT); //显示日期,时间(精确到分)
  String str7 = d7.format(now);
  DateFormat d8 = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM); //显示日期,时间(精确到分)
  String str8 = d8.format(now);//与SHORT风格相比,这种方式最好用




  
  System.out.println("用Date方式显示时间: " + now);//此方法显示的结果和Calendar.getInstance().getTime()一样
  
  
  System.out.println("用DateFormat.getDateInstance()格式化时间后为:" + str1);
  System.out.println("用DateFormat.getDateTimeInstance()格式化时间后为:" + str2);
  System.out.println("用DateFormat.getTimeInstance()格式化时间后为:" + str3);
  System.out.println("用DateFormat.getInstance()格式化时间后为:" + str4);
  
  System.out.println("用DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL)格式化时间后为:" + str5);
  System.out.println("用DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG)格式化时间后为:" + str6);
  System.out.println("用DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT)格式化时间后为:" + str7);
  System.out.println("用DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM)格式化时间后为:" + str8);

}

}

运行结果:

用Date方式显示时间: Fri Sep 24 16:46:23 CST 2021
用DateFormat.getDateInstance()格式化时间后为:2021年9月24日
用DateFormat.getDateTimeInstance()格式化时间后为:2021年9月24日 下午4:46:23
用DateFormat.getTimeInstance()格式化时间后为:下午4:46:23
用DateFormat.getInstance()格式化时间后为:2021/9/24 下午4:46
用DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL)格式化时间后为:2021年9月24日星期五 中国标准时间 下午4:46:23
用DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG)格式化时间后为:2021年9月24日 CST 下午4:46:23
用DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT)格式化时间后为:2021/9/24 下午4:46
用DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM)格式化时间后为:2021年9月24日 下午4:46:23

方法二:用java.util.Calendar类来实现,看下面:

import java.util.;
import java.text.
;
//以下是利用Calendar类来实现日期时间的,和Date类相比较比较简单

public class TestDate2 {
public static void main(String[] args) {

  Calendar ca = Calendar.getInstance();
  int year = ca.get(Calendar.YEAR);//获取年份
  int month=ca.get(Calendar.MONTH);//获取月份 
  int day=ca.get(Calendar.DATE);//获取日
  int minute=ca.get(Calendar.MINUTE);//分 
  int hour=ca.get(Calendar.HOUR);//小时 
  int second=ca.get(Calendar.SECOND);//秒
  int WeekOfYear = ca.get(Calendar.DAY_OF_WEEK); 
  
  
  System.out.println("用Calendar.getInstance().getTime()方式显示时间: " + ca.getTime());
  System.out.println("用Calendar获得日期是:" + year +"年"+ month +"月"+ day + "日");
  
  System.out.println("用Calendar获得时间是:" + hour +"时"+ minute +"分"+ second +"秒");
  System.out.println(WeekOfYear);//显示今天是一周的第几天)

}

}
运行结果是:
用Calendar.getInstance().getTime()方式显示时间: Fri Sep 24 16:45:11 CST 2021
用Calendar获得日期是:2021年8月24日
用Calendar获得时间是:4时45分11秒
6

方法三:

SimpleDateFormat 24小时制时间显示
关键字: java基础

字母 日期或时间元素 表示 示例
G Era 标志符 Text AD
y 年 Year 1996; 96
M 年中的月份 Month July; Jul; 07
w 年中的周数 Number 27
W 月份中的周数 Number 2
D 年中的天数 Number 189
d 月份中的天数 Number 10
F 月份中的星期 Number 2
E 星期中的天数 Text Tuesday; Tue
a Am/pm 标记 Text PM
H 一天中的小时数(0-23) Number 0
k 一天中的小时数(1-24) Number 24
K am/pm 中的小时数(0-11) Number 0
h am/pm 中的小时数(1-12) Number 12
m 小时中的分钟数 Number 30
s 分钟中的秒数 Number 55
S 毫秒数 Number 978
z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
Z 时区 RFC 822 time zone
-0800

它有个优点就是支持两位月份,两位日期。带前缀0.
Date date = new Date();
SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String sDateSuffix = dateformat.format(date);
System.out.println("[+]sDateSuffix:"+sDateSuffix);






本文由樊兔教育图二UR整理发布,樊兔教育是一个泛互联网职业教育平台,官网地址:http://ftuedu.com/


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM