Java获取当前年月日、时间

两种方法,通过Date类或者通过Calendar类。Date类比较简单,但是要得到细致的字段的话Calendar类比较方便。

复制代码
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
 
import org.junit.Test;
 
 
public class GetTimeNow {
 
    /**
     * 通过Calendar类获取
     */
    @Test
    public void getTimeNowThroughCalendar(){
        //使用默认时区和语言环境获得一个日历。
        Calendar    rightNow    =    Calendar.getInstance();   
        /*用Calendar的get(int field)方法返回给定日历字段的值。
        HOUR 用于 12 小时制时钟 (0 - 11),HOUR_OF_DAY 用于 24 小时制时钟。*/
        Integer year = rightNow.get(Calendar.YEAR); 
        Integer month = rightNow.get(Calendar.MONTH)+1; //第一个月从0开始,所以得到月份+1
        Integer day = rightNow.get(rightNow.DAY_OF_MONTH);
        Integer hour12 = rightNow.get(rightNow.HOUR); 
        Integer hour24 = rightNow.get(rightNow.HOUR_OF_DAY);
        Integer minute = rightNow.get(rightNow.MINUTE);
        Integer second = rightNow.get(rightNow.SECOND);
        Integer millisecond = rightNow.get(rightNow.MILLISECOND);
        String TimeNow12 = year+"-"+month+"-"+day+" "+hour12+":"+minute+":"+second+":"+millisecond;
        String TimeNow24 = year+"-"+month+"-"+day+" "+hour24+":"+minute+":"+second+":"+millisecond;
         System.out.println("日历:"+rightNow+"\n12小时制时钟:"+TimeNow12+"\n24小时制时钟:"+TimeNow24);
    }
    
    /**
     * 通过Date类获取
     */
    @Test
    public void getTimeNowThroughDate(){
        Date date=new Date();
        DateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS");
        System.out.println(format.format(date));
        //DateFormat类的静态工厂方法
        System.out.println(format.getInstance().format(date));
        System.out.println(format.getDateInstance().format(date));
        System.out.println(format.getTimeInstance().format(date));
        System.out.println(format.getDateTimeInstance().format(date));
        
        //DateFormat带参数的静态工厂方法
        //第一个参数是静态变量style有4中取值0、1、2、3分别对应SHORT、MIDIUM、LONG、FULL
        //第二个参数根据环境敏感的Locale类的静态变量自定义输出
        System.out.println(format.getDateInstance(0, Locale.CHINA).format(date)); 
        System.out.println(format.getTimeInstance(0,Locale.CHINA).format(date));
        
        System.out.println(format.getDateTimeInstance(2,2).format(date));  
        }
    
    /**
     * 两者结合。。。
     */
    @Test
    public void getTimeNowTogether(){
        String TimeNow = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS").format(Calendar.getInstance().getTime());
        System.out.println(TimeNow);
    }
    
}
复制代码

转载地址:https://blog.csdn.net/coffeesweet/article/details/50615944

 

posted @   bellin124  阅读(35460)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
点击右上角即可分享
微信分享提示