关于时间获取或转换

总结下关于时间获取或转换的工具类,基本用到的差不多就这些了

public class TimeUtil {
    /**
     * 获取如今时间
     *
     * @return返回字符串格式 yyyy-MM-dd HH:mm:ss
     */
    public static String getStringDate() {
        Date currentTime = new Date();
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String dateString = formatter.format(currentTime);
        return dateString;
    }
    public static String getStringDate2() {
        Date currentTime = new Date();
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        String dateString = formatter.format(currentTime);
        return dateString;
    }
    /**
     * 将时间格式时间转换为字符串 yyyy-MM-dd
     * @param dateDate
     * @return
     */
    public static String dateToStr(Date dateDate) {
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        String dateString = formatter.format(dateDate);
        return dateString;
    }

    /**
     * 将短时间格式字符串转换为时间 yyyy-MM-dd
     *
     * @param strDate
     * @return
     */
    public static Date strToDate(String strDate) {
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        ParsePosition pos = new ParsePosition(0);
        Date strtodate = formatter.parse(strDate, pos);
        return strtodate;
    }/**
     * 将短时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss
     *
     * @param strDate
     * @return
     */
    public static Date strToDate2(String strDate) {
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd  HH:mm:ss");
        ParsePosition pos = new ParsePosition(0);
        Date strtodate = formatter.parse(strDate, pos);
        return strtodate;
    }
    /**
     * 得到二个日期间的间隔天数
     */
    public static String getTwoDay(String sj1, String sj2) {
        SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
        long day = 0;
        try {
            Date date = myFormatter.parse(sj1);
            Date mydate = myFormatter.parse(sj2);
            day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
        } catch (Exception e) {
            return "";
        }
        return day + "";
    }
    /**
     * 得到日期距离今天的间隔天数
     */
    public static long getTwoDay(String sj2) {
        SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
        long day = 0;
        try {
            Date date = myFormatter.parse(getStringDate2());
            Date mydate = myFormatter.parse(sj2);
            day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
        } catch (Exception e) {
            return 0;
        }
        return day ;
    }
    /**
     * 得到一个时间延后或前移几天的时间,nowdate为时间,delay为前移或后延的天数
     */
    public static String getNextDay(String nowdate, String delay) {
        try{
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            String mdate = "";
            Date d = strToDate(nowdate);
            long myTime = (d.getTime() / 1000) + Integer.parseInt(delay) * 24 * 60 * 60;
            d.setTime(myTime * 1000);
            mdate = format.format(d);
            return mdate;
        }catch(Exception e){
            return "";
        }
    }
    /**
     * 将字符串转为时间戳
     */
    public static long toTimeStamp(String time) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",
                Locale.CHINA);
        Date date;
        try {
            date = sdf.parse(time);
        } catch (ParseException e) {
            e.printStackTrace();
            return 0;
        }
        return date.getTime() / 1000;
    }
    public  static String formatUTC(long l) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA);
        return sdf == null ? "NULL" : sdf.format(l);
    }
    /**
     *
     * @param time  时间戳
     * @param pattern 转化格式 如yyyy-MM-dd HH:mm:ss
     */
    public static String getDate2String(long time, String pattern) {
        Date date = new Date(time);
        SimpleDateFormat format = new SimpleDateFormat(pattern, Locale.CHINA);
        return format.format(date);
    }

    /**
     * 秒转化为分秒
     * @param s
     * @return
     */
    public static String SToMS(String s){
        int all= StringUtils.toInt(s);
        int mt= all/60;
        int st= all%60;
        if(st<10){
            return mt+":0"+st;
        }
        return mt+":"+st;
    }

    /**
     * 根据一个日期,返回是星期几的字符串
     *
     * @param sdate
     * @return
     */
    public static int getWeek(String sdate) {
        // 再转换为时间
        Date date = strToDate(sdate);
        Calendar c = Calendar.getInstance();
        c.setTime(date);
        int hour=c.get(Calendar.DAY_OF_WEEK);
        // hour中存的就是星期几了,其范围 1~7
        // 1=星期日 7=星期六,其他类推
        return hour;
    }
    public static String getWeekStr(String sdate){
        int str;
        String str1="";
        str = getWeek(sdate);
        if(str==1){
            str1 = "星期日";
        }else if(str==2){
            str1 = "星期一";
        }else if(str==3){
            str1 = "星期二";
        }else if(str==4){
            str1 = "星期三";
        }else if(str==5){
            str1 = "星期四";
        }else if(str==6){
            str1 = "星期五";
        }else if(str==7){
            str1 = "星期六";
        }
        return str1;
    }
}
你可以使用JavaScript的Date对象来获取当前时间。下面是获取当前时间的示例代码: ```javascript var currentDate = new Date(); console.log(currentDate); ``` 要进行时间转换,你可以使用Date对象提供的方法。以下是一些常见的时间转换操作: 1. 将时间转换字符串: ```javascript var dateString = currentDate.toDateString(); // 转换为本地时间格式的字符串 var timeString = currentDate.toTimeString(); // 转换为本地时间格式的字符串 console.log(dateString); console.log(timeString); ``` 2. 获取特定的时间部分: ```javascript var year = currentDate.getFullYear(); // 获取年份,如2022 var month = currentDate.getMonth() + 1; // 获取月份,注意月份是从0开始计数的,所以需要加1 var day = currentDate.getDate(); // 获取日期,如15 var hours = currentDate.getHours(); // 获取小时数,0-23 var minutes = currentDate.getMinutes(); // 获取分钟数,0-59 var seconds = currentDate.getSeconds(); // 获取秒数,0-59 console.log(year, month, day, hours, minutes, seconds); ``` 3. 格式化时间输出: ```javascript // 将时间部分转换为两位数形式,不足两位时在前面补0 function formatNumber(num) { return num < 10 ? "0" + num : num; } var formattedTime = formatNumber(hours) + ":" + formatNumber(minutes) + ":" + formatNumber(seconds); console.log(formattedTime); ``` 这些是获取当前时间时间转换的基本操作,你可以根据实际需求进行进一步处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值