Maison  >  Article  >  Java  >  Quelles sont les méthodes d’écriture des classes d’outils de date Java ?

Quelles sont les méthodes d’écriture des classes d’outils de date Java ?

王林
王林avant
2023-05-20 16:22:061075parcourir

Écriture de classe d'outil de date Java

Convertir la chaîne en date correspondante

Date date = simpleDateFormat.parse(string);

Convertir la date en chaîne de caractères#🎜 🎜#

String string = simpleDateFormat.format(date);

Notez que, comme le format qui peut être défini ne correspond pas au format fourni par la chaîne réelle, une exception sera levée.

Convertir la date du caractère chinois de l'année, du mois et du jour en date avec - - séparateur

public static void main(String[] args) throws ParseException {
		//统一日期格式
		String StrVal = "2018年05月22日";
		Date d1 = new SimpleDateFormat("yyyy年MM月dd日").parse(StrVal);
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
		String time = format.format(d1);
		System.out.println(time);
	}

Quelles sont les méthodes d’écriture des classes d’outils de date Java ?

    /**
     * 将日期对象格式化为指定格式的日期字符串
     * @param date 传入的日期对象
     * @param format 格式
     * @return
     */
    public static String formatDate(Date date,String format){
        String result="";
        SimpleDateFormat sdf=new SimpleDateFormat(format);
        if(date!=null){
            result=sdf.format(date);
        }
        return result;
    }
    /**
     * 将日期字符串转换成一个日期对象 
     * @param dateStr 日期字符串
     * @param format 格式
     * @return
     * @throws ParseException 
     */
    public static Date formatDate(String dateStr,String format) throws ParseException{
        SimpleDateFormat sdf=new SimpleDateFormat(format);
        return sdf.parse(dateStr);
    }
    public static void main(String[] args) throws ParseException {
        Date date=new Date();
        System.out.println(formatDate(date,"yyyy-MM-dd"));
        System.out.println(formatDate(date,"yyyy-MM-dd HH:mm:ss"));
        System.out.println(formatDate(date,"yyyy年MM月dd日HH时mm分ss秒"));
        String dataStr="1989-11-02 18:01:41";
        Date date2=formatDate(dataStr,"yyyy-MM-dd HH:mm:ss");
        System.out.println(formatDate(date2,"yyyy-MM-dd HH:mm:ss"));
    }

Exécuter la sortie : #🎜 🎜#

2016-11-02

2016-11-02 18:06:50

02 novembre 2016 18:06:50# 🎜🎜#

1989-11-02 18:01:41

La classe SimpleDateFormat est principalement utilisée pour la conversion de type de date, le formatage de date couramment utilisé

    public static void main(String[] args) {
        //默认输出格式
        Date date=new Date();
        System.out.println(date);
        //日期格式化显示,首先定义格式
        SimpleDateFormat sdf1=new SimpleDateFormat("yyyyMMdd");
        SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd");
        SimpleDateFormat sdf3=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        SimpleDateFormat sdf4=new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
        //将格式应用于日期
        System.out.println(sdf1.format(date));
        System.out.println(sdf2.format(date));
        System.out.println(sdf3.format(date));
        System.out.println(sdf4.format(date));
    }
#🎜🎜 ##🎜 🎜#

Opération temporelle de la classe de calendrier JavaCalendar

Quelles sont les méthodes d’écriture des classes d’outils de date Java ?

Le calendrier a DAY_OF_WEEK qui peut renvoyer le jour de la semaine ;# 🎜🎜##🎜 🎜#Voici une chose à noter : le premier jour pour les étrangers commence dimanche, donc -1;

import java.util.Calendar;
public class Test {
    public static void main(String[] args) {
        String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
        Calendar calendar=Calendar.getInstance();
        System.out.println("今天是"+weekDays[calendar.get(Calendar.DAY_OF_WEEK)-1]);
    }
}
Opération sur le calendrier
    public static void main(String[] args) {
        //默认输出格式
    	Date now = new Date();
	SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
	String time = format.format(now);
	System.out.println(time);
    	Calendar calendar = Calendar.getInstance();
    	calendar.setTime(now);
    	calendar.add(Calendar.MONTH, 1);
    	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    	String nowTime = sdf.format(calendar.getTime());
    	System.out.println(nowTime);
    	calendar.add(Calendar.MONTH, -2);
    	String nowTime2 = sdf.format(calendar.getTime());
    	System.out.println(nowTime2);
    }

#🎜🎜 #

Obtenir l'heure

Les six valeurs couramment utilisées pour l'affectation sont l'année, le mois, le jour, l'heure, la minute et la seconde. Notez que l'indice du mois. commence à 0, donc pour obtenir le mois, +1. Pour une certaine date, vous pouvez définir l'année, le mois, le jour, l'heure, la minute et la seconde à la fois. Puisque l'indice du mois commence à 0, le mois doit être -1. Calcul du temps

Quelles sont les méthodes d’écriture des classes d’outils de date Java ?

    public static void main(String[] args) {
        //默认输出格式
    	Date now = new Date();
    	SimpleDateFormat nowSdf = new SimpleDateFormat("yyyy-MM-dd");
        System.out.println(nowSdf.format(now));
        Calendar calendar = Calendar.getInstance();
        // 赋值时年月日时分秒常用的6个值,注意月份下标从0开始,所以取月份要+1
        System.out.println("年:" + calendar.get(Calendar.YEAR));
        System.out.println("月:" + (calendar.get(Calendar.MONTH) + 1));       
        System.out.println("日:" + calendar.get(Calendar.DAY_OF_MONTH));
        System.out.println("时:" + calendar.get(Calendar.HOUR_OF_DAY));
        System.out.println("分:" + calendar.get(Calendar.MINUTE));
        System.out.println("秒:" + calendar.get(Calendar.SECOND));
    	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    	String nowTime2 = sdf.format(calendar.getTime());
    	System.out.println(nowTime2);
    }

Calcul de la date

Obtenir la valeur minimale de ce mois-ci Nombre de jours et nombre maximum de joursQuelles sont les méthodes d’écriture des classes d’outils de date Java ?

    public static void main(String[] args) {
        //默认输出格式
    	Date now = new Date();
    	SimpleDateFormat nowSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(nowSdf.format(now));
        Calendar calendar = Calendar.getInstance();
        calendar.set(2013, 5, 4, 13, 44, 51);
        calendar.set(Calendar.YEAR, 2014);//年 
    	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    	String nowTime = sdf.format(calendar.getTime());
    	System.out.println(nowTime);
        calendar.set(Calendar.MONTH, 7);//月(月份0代表1月) 
    	SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    	String nowTime1 = sdf1.format(calendar.getTime());
    	System.out.println(nowTime1);
        calendar.set(Calendar.DATE, 11);//日 
        calendar.set(Calendar.HOUR_OF_DAY, 15);//时 
        calendar.set(Calendar.MINUTE, 33);//分 
        calendar.set(Calendar.SECOND, 32);//秒 
    }

Obtenez le lundi de cette semaine, le lundi de la semaine dernière, le lundi de cette semaine#🎜🎜 ##🎜 🎜#
    public static void main(String[] args) {
        //默认输出格式
    	Date now = new Date();
    	SimpleDateFormat nowSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(nowSdf.format(now));
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(now);
    	calendar.add(Calendar.YEAR, 1);//年 
    	calendar.add(Calendar.MONTH, 1);//月 
    	calendar.add(Calendar.DATE, 1);//日 
    	//calendar.add(Calendar.DAY_OF_YEAR, 1);//今年的第 N 天
    	//calendar.add(Calendar.DAY_OF_MONTH, 1); // 本月第 N 天  
    	//calendar.add(Calendar.DAY_OF_WEEK, 1);// 本周几  
    	calendar.add(Calendar.HOUR_OF_DAY, -1);//时 
    	calendar.add(Calendar.MINUTE, 1);//分 
    	calendar.add(Calendar.SECOND, 1);//秒 
        //calendar.add(calendar.WEEK_OF_MONTH, 1);//增加一个礼拜
        //calendar.add(calendar.WEEK_OF_YEAR,1);//增加一个礼拜
       	SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    	String nowTime1 = sdf1.format(calendar.getTime());
    	System.out.println(nowTime1);
    }

Quelles sont les méthodes d’écriture des classes d’outils de date Java ?

Calcul du jour

Utiliser la classe Date pour calculer la différence de date#🎜🎜 #

    public static void main(String[] args) {
        //默认输出格式
    	Date now = new Date();
    	SimpleDateFormat nowSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    	Calendar calendar = Calendar.getInstance();   
    	int firstD = calendar.getActualMinimum(calendar.DAY_OF_MONTH);   
    	int lastD = calendar.getActualMaximum(calendar.DAY_OF_MONTH);   
    	System.out.println("获取本月的第一天和最后天:" + firstD +"," + lastD);
    }
#🎜 🎜#

    public static Date geLastWeekMonday(Date date) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(getThisWeekMonday(date));
        cal.add(Calendar.DATE, -7);
        return cal.getTime();
    }
    public static Date getThisWeekMonday(Date date) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        // 获得当前日期是一个星期的第几天
        int dayWeek = cal.get(Calendar.DAY_OF_WEEK);
        if (1 == dayWeek) {
            cal.add(Calendar.DAY_OF_MONTH, -1);
        }
        // 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
        cal.setFirstDayOfWeek(Calendar.MONDAY);
        // 获得当前日期是一个星期的第几天
        int day = cal.get(Calendar.DAY_OF_WEEK);
        // 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值
        cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);
        return cal.getTime();
    }
    public static Date getNextWeekMonday(Date date) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(getThisWeekMonday(date));
        cal.add(Calendar.DATE, 7);
        return cal.getTime();
    }
    public static void main(String[] args) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date date = sdf.parse("2017-09-10");
            System.out.println("今天是" + sdf.format(date));
            System.out.println("上周一" + sdf.format(geLastWeekMonday(date)));
            System.out.println("本周一" + sdf.format(getThisWeekMonday(date)));
            System.out.println("下周一" + sdf.format(getNextWeekMonday(date)));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
Quelles sont les méthodes d’écriture des classes d’outils de date Java ?

Classe d'outil de date

public static void main(String[] args) {
	 Calendar love = Calendar.getInstance();  
     Calendar now = Calendar.getInstance();  
     love.set(2016, 8, 6); //真实的日期是2016-9-6;
     int days = (int) ((now.getTimeInMillis() - love.getTimeInMillis()) / (24 * 60 * 60 * 1000.0));  
     System.out.println(days); 
}
rrree

# 🎜🎜 #

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer