首页 > 编程语言 >Java将毫秒(时间戳)转时分秒格式或者年月日

Java将毫秒(时间戳)转时分秒格式或者年月日

时间:2022-09-20 22:55:09浏览次数:103  
标签:return String public 毫秒 second static Date Java 时分秒

将毫秒值(currentTimeMillis)转换为(年-月-日 时-分-秒)的形式,只需一行代码

 //首先获取当前的毫秒值
     long currentTimeMillis = System.currentTimeMillis();
     /**
      * 转换为年月日时分秒的形式,得到的currentTime就是转换之后的值了
      * yyyy-MM-dd HH-mm-ss
      * 年-月-日 时-分-秒
      */
     String currentTime = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss").format(currentTimeMillis);

如果说你只想要"时-分-秒"

 String currentTime = new SimpleDateFormat("HH-mm-ss").format(currentTimeMillis);

计算获得时间戳后转时分秒格式,附实验结果

 /**
  * @Author: Be.insighted
  * Description:
  * @date Create on 2020/7/14 16:35
  **/
 •
 public class TimeUtils{  
 •
 /**
      * 把时间戳转换为:时分秒
      *
      * @param millisecond :毫秒,传入单位为毫秒
      */
         public static String getTimeString(final long millisecond) {
         if (millisecond < 1000) {
             return "0" + "秒";
         }
         long second = millisecond / 1000;
         long seconds = second % 60;
         long minutes = second / 60;
         long hours = 0;
         if (minutes >= 60) {
             hours = minutes / 60;
             minutes = minutes % 60;
         }
         String timeString = "";
         String secondString = "";
         String minuteString = "";
         String hourString = "";
         if (seconds < 10) {
             secondString = "0" + seconds + "秒";
         } else {
             secondString = seconds + "秒";
         }
         if (minutes < 10 && hours < 1) {
             minuteString = minutes + "分";
         } else if (minutes < 10){
             minuteString =  "0" + minutes + "分";
         } else {
             minuteString = minutes + "分";
         }
         if (hours < 10) {
             hourString = hours + "时";
         } else {
             hourString = hours + "" + "时";
         }
         if (hours != 0) {
             timeString = hourString + minuteString + secondString;
         } else {
             timeString = minuteString + secondString;
         }
         return timeString;
     }
  
     public static Date convertTimeStamp2Date(long timeStamp) {
         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
         Date date = new Date(timeStamp);
         try {
             date = df.parse(df.format(date));
         } catch (ParseException e) {
             log.error("时间格式化错误");
         }
         return date;
     }
  
     public static long dateToStamp(Date date, int hour, int minute, int second) {
             LocalDateTime timestamp =         date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
             return timestamp.withHour(hour).withMinute(minute).withSecond(second).atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
         }
 }

实验结果

时间工具类

 public class DateTimeUtils {
  
     public static final String DATE_FORMAT_DATETIME_SIMPLE = "yyMMddHHmmss";
     /**
      * 年-月-日
      */
     public static final String DATE_FORMAT_DATEONLY = "yyyy-MM-dd";
  
     /**
      * 年-月-日
      */
     public static final String DATE_FORMAT_DATEONLY_MONTH = "yyyyMM";
     /**
      * 年-月-日 时分秒
      */
     public static final String DATETIME_FORMAT_DATEONLY = "yyyy-MM-dd HH:mm:ss";
  
     /**
      * 年-月-日 时分
      */
     public static final String DATE_FORMAT_DATE = "yyyy-MM-dd HH:mm";
  
     /**
      * dateTime formatter
      */
     public static final DateTimeFormatter DATETIME_FORMATTER = DateTimeFormatter.ofPattern(DATETIME_FORMAT_DATEONLY);
     /**
      * date formatter
      */
     public static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern(DATE_FORMAT_DATEONLY);
  
     private static final ZoneId ZONE = ZoneId.systemDefault();
  
     public static String formatDateTimeString(long unixTime, String format) {
         if (unixTime == 0) {
             return "";
         }
         LocalDateTime dateTime = toLocalDateTime(unixTime);
         Date date = date(dateTime);
         SimpleDateFormat formator = new SimpleDateFormat(format);
         return formator.format(date);
     }
  
     public static String formatDateTimeString(long unixTime) {
         return formatDateTimeString(unixTime, DATETIME_FORMAT_DATEONLY);
     }
  
     /**
      * 毫秒转为分
      *
      * @param second
      * @return
      */
     public static String getGapTime(long second) {
         if (second != 0L) {
             second = second / 1000;
         }
         //转换天数
         long days = second / 86400;
         //剩余秒数
         second = second % 86400;
         //转换小时数
         long hours = second / 3600;
         //剩余秒数
         second = second % 3600;
         //转换分钟
         long minutes = second / 60;
         //剩余秒数
         second = second % 60;
         String s = days + "天" + hours + "时" + minutes + "分" + second + "秒";
         if (0 < days) {
             return s;
         } else {
             return hours + "时" + minutes + "分" + second + "秒";
         }
     }
  
     /**
      * 获取String类型时间
      *
      * @return
      */
     public static String convertCalender2String() {
         SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmm");
         Calendar calendar = Calendar.getInstance();
         return df.format(calendar.getTime());
     }
  
     /**
      * java.time.LocalDateTime --> java.util.Date
      *
      * @param localDateTime
      * @return
      */
     public static Date date(LocalDateTime localDateTime) {
         if (localDateTime == null) {
             return null;
         }
         Instant instant = localDateTime.atZone(ZONE).toInstant();
         return Date.from(instant);
     }
  
  
     /**
      * 将字符串转换成日期,只到年月日
      * @param str
      * @return
      */
     public static Date strToDate(String str, String format) {
         try {
             if (StringUtils.isBlank(format)) {
                 format = DATETIME_FORMAT_DATEONLY;
             }
             SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
             return simpleDateFormat.parse(str);
  
         } catch (Exception e) {
             e.printStackTrace();
         }
         return null;
     }
  
  
     /**
      * 将Date日期转换成String
      *
      * @param dateDate
      * @return
      */
     public static String dateToStr(Date dateDate, String formatter) {
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat(formatter);
         String dateString = simpleDateFormat.format(dateDate);
         return dateString;
     }
  
     /**
      * 将Date日期转换成String
      *
      * @param dateDate
      * @return
      */
     public static String dateToStr(Date dateDate) {
         SimpleDateFormat formatter = new SimpleDateFormat(DATE_FORMAT_DATEONLY);
         String dateString = formatter.format(dateDate);
         return dateString;
     }
  
  
     public static LocalDateTime toLocalDateTime(Date date){
  
         Instant instant = date.toInstant();
         ZoneId zone = ZoneId.systemDefault();
         return LocalDateTime.ofInstant(instant, zone);
     }
  
     public static LocalDateTime toLocalDateTime(long dateLong){
  
         return toLocalDateTime(new Date(dateLong));
     }
  
     public static Date toDate(LocalDateTime localDateTime){
  
         return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
     }
  
     public static Date toDate(LocalDate localDate){
  
         return Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
     }
  
     public static Date toDate(LocalTime localTime) {
  
         LocalDate localDate = LocalDate.now();
         LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);
         ZoneId zone = ZoneId.systemDefault();
         Instant instant = localDateTime.atZone(zone).toInstant();
         return  Date.from(instant);
     }
  
     public static long toLong(LocalDateTime localDateTime){
  
         return  localDateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
     }
  
     public static long toLong(LocalTime localTime){
  
         LocalDate localDate = LocalDate.now();
         LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);
         return  localDateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
     }
  
     public static long toLong(LocalDate localDate){
  
         LocalDateTime localDateTime = localDate.atStartOfDay();
         return  localDateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
     }
  
     public static boolean isToday(LocalDateTime datetime) {
         LocalDateTime now = LocalDateTime.now();
         return (now.getYear() == datetime.getYear()) && (now.getMonthValue() == datetime.getMonthValue()) && (now.getDayOfMonth() == datetime.getDayOfMonth());
     }
  
 }

 

参考文章:

https://blog.csdn.net/Be_insighted/article/details/107341664

https://blog.csdn.net/Goner_java/article/details/122239684

 

标签:return,String,public,毫秒,second,static,Date,Java,时分秒
From: https://www.cnblogs.com/zhaostudy/p/16712970.html

相关文章

  • 基于SSM+Vue的农产品销售系统Java农产品在线商城系统(源码调试+讲解+文档)
    ......
  • Java学习笔记---JDK8新特性(Lambda表达式)
    1.Lambda表达式基础格式:()->{};//()为lambda表达式的参数//->为箭头操作符//{}为lambda方法体lambda表达式结果为一个实例对象,用于直接实例化......
  • Java单例模式
    单例模式  单例模式核心是保证一个类只有一个实例,并且提供一个访问实例的全局访问点。使用场景  需要频繁的进行创建和销毁的对象、创建对象时耗时过多或耗费资源过......
  • Java面向对象初探
    Java面向对象1.类和对象1.1类和对象的概念:类是抽象的集合,对象是具体的实例。类可以想象为制作蛋糕的模具,对象就是做出来的蛋糕。类中包含属性(字段)和方法(操作)1.2类......
  • Java基础08 自增自减运算符、初识Math类
    publicstaticvoidmain(String[]args){//++--自增自减一元运算符inta=3;intb=a++;//执行完这行代码后,先给b赋值,再自......
  • java: Bridge Patterns
     /***版权所有2022涂聚文有限公司*许可信息查看:*描述:*桥梁模式BridgePatterns*历史版本:JDK14.02*2022-09-12创建者geovindu*2022-09-12......
  • Java基础07 基本运算符
    运算符◆Java语言支持如下运算符:算术运算符:+,-,*,/,%,++,-赋值运算符=关系运算符:>,<,>=,<=,==,!=instanceof逻辑运算符:&&,||,!位运算符:&,|,^,~,>>,<<,>>>了解......
  • java中如何将函数作为参数传递呢?
    函数简介:  函数(function)的定义通常分为传统定义和近代定义,函数的两个定义本质是相同的,只是叙述概念的出发点不同,传统定义是从运动变化的观点出发,而近代定义是从集合、......
  • Java基础知识,JDK8下载安装环境配置
    Java基础知识Java的三种版本JavaSE:标准版,主要用于开发桌面程序,控制台开发等等JavaME:嵌入式开发,主要用于开发手机,小家电等等,目前使用的比较少JavaEE:企业级开发,主......
  • java 根据任意List<Object>输出excel表格
    使用方法:将自定义的pojo类,添加到list中,直接调用输出类的out方法就可以(注意:这个pojo类的属性上必须使用自定义注解,index属性用来标识该属性放在哪一列,value则标示输出的中......