精华内容
下载资源
问答
  • java中时间转换

    2017-09-24 00:41:49
    关于字符串String转为时间戳timestamp,以及时间戳timestamp转为字符串String,以及判断考勤的方法,都是简短的小案例,
  • Java 中时间转换

    2007-07-17 08:41:00
    Since java.sql.Timestamp is inherite from java.util.Date, so simply doing this will do:SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); java.sql.Timestamp ts = new java.sql.Timest

    Since java.sql.Timestamp is inherite from java.util.Date, so simply doing this will do:

    SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    java.sql.Timestamp ts = new java.sql.Timestamp(System.currentTimeMillis());
    System.out.println(ft.format(ts));

     

    Suppose your TIMESTAMP variable is a string, then you could do:

    String timeStampStr = ;
    SimpleDateFormat sdfIn =  SimpleDateFormat();
    SimpleDateFormat sdfOut =  SimpleDateFormat();        
    Date date = sdfIn.parse(timeStampStr);
    String timeStrOut = sdfOut.format(date);
    System.out.println(timeStrOut);
    
    展开全文
  • java 中时间转换问题

    2017-01-01 04:31:38
    先说下自己查到的关于Unix时间戳转换java date时间格式的方法: /*  * unix时间戳转换java date时间格式  */ public static String getDateMMDD(Long l) { Date date = new Date(l * 1000)...
    先说下自己查到的关于Unix时间戳转换成java date时间格式的方法:
    /*
     * unix时间戳转换为java date时间格式
     */
    public static String getDateMMDD(Long l) {
    Date date = new Date(l * 1000);
    SimpleDateFormat bartDateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
    return bartDateFormat.format(date);
    }
    这边我需要转换成“12月26日”的格式
    /*
     * unix时间戳转换为java date时间格式
     */
    public static String getDateMMDD(Long l) {
    Date date = new Date(l * 1000);
    SimpleDateFormat bartDateFormat = new SimpleDateFormat("MM月DD日");
    return bartDateFormat.format(date);
    }
    这样会出现错误时间对不上  而且 天数的位置是三位数
    但是改成“MM月dd日”就OK了
    谁能解释下
    展开全文
  • java中时间转换问题

    2018-05-23 13:41:48
    时间的表达主要有: (1)1752704756236 ,从1970-1-1的0:0:0开始算起到当前时间,一共有多少秒 (2)Wed May 23 13:12:45 CST 2018 ,是java自带的Date类,这个是Date对象的toString()显示的值 (3)2018-05-23-...
    时间的表达主要有:
            (1)1752704756236 ,从1970-1-1的0:0:0开始算起到当前时间,一共有多少秒
            (2)Wed May 23 13:12:45 CST 2018 ,是java自带的Date类,这个是Date对象的toString()显示的值
            (3)2018-05-23-10:42:22 ,表现时间的具体内容,年月日时分秒,可以自由定义表现形式
        这三种分别对应long类型、Date类型、String类型
    -----------------------------------------------------
    当前时间转成自定义字符串(long--->自定义String)
    说明:
    当前时间:System.currentTimeMillis();(返回值long类型)
    可以把Data类型或Object(比如long类型)转成自定义格式:
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss");
    ----------------------------------------------------
    包名:
    import java.util.Date;
    ----------------------------------------------------
    代码:
    long currentTime = System.currentTimeMillis();
    System.out.println(currentTime);
    输出结果:
    1527042756236
    ------------------------------------------------------

    代码:

        Date date2 = new Date();

        System.out.println(date2);

    输出结果:

        Wed May 23 13:12:45 CST 2018

    --------------------------------------------------------

    代码:
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss");
    long currentTime = System.currentTimeMillis();
    Date date = new Date();
    String time1 = simpleDateFormat.format(currentTime);
    String time2 = simpleDateFormat.format(date);
    System.out.println(time1+"/"+time2);
    输出结果:
    2018-05-23-10:42:22/2018-05-23-10:42:22
    -------------------------------------------------------
    结论:
    Data类型,long类型都可以按自定义格式:yyyy-MM-dd HH:mm:ss,转成2018-05-23-10:42:22
    ------------------------------------------------------
    补充:
    Timestamp timestamp = new Timestamp(long time);
    Timestamp timestamp = new Timestamp(int year, int month,int date,int hour, int minute, int second, int nano);
    展开全文
  • 解决时间转换,还有介绍将java.util.Date类型数据插入到数据库!
  • // 获得某天最大时间 2017-10-15 23:59:59 public static Date getEndOfDay(Date date) { LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(date.getTime()), ZoneId.systemDefault())...
    1. 获得某天最大时间 2017-10-15 23:59:59
    2. 获得某天最小时间 2017-10-15 00:00:00
    3. 时间戳转Date
    4. Date转时间戳
    5. 格式化Date
    6. 给日期加上指定时长
    7. 得到指定时间节点的日期时间
    8. 判断两个时间点是否为同一天、同一年
    9. Java 8 日期时间 API

      // 1获得某天最大时间 2017-10-15 23:59:59
    public static Date getEndOfDay(Date date) {
    	LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(date.getTime()),       ZoneId.systemDefault());;
    	LocalDateTime endOfDay = localDateTime.with(LocalTime.MAX);
    	return Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant());
    }
    // 2获得某天最小时间 2017-10-15 00:00:00
    public static Date getStartOfDay(Date date) {
    	LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(date.getTime()), ZoneId.systemDefault());
    	LocalDateTime startOfDay = localDateTime.with(LocalTime.MIN);
    	return Date.from(startOfDay.atZone(ZoneId.systemDefault()).toInstant());
    } 
    
    **测试代码**
      public static void main(String[] args) {
    	Date date = new Date();
    	System.out.println("今天开始时间:" + getStartOfDay(date));
    	System.out.println("今天结束时间:" + getEndOfDay(date));
    	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    	System.out.println(sdf.format(getStartOfDay(date)));
    	System.out.println(sdf.format(getEndOfDay(date)));
    }
    *运行结果*
    结果输出如下:
    

    在这里插入图片描述

    声明式时间格式化
    private static String Date_Format_Patten = “yyyy-MM-dd HH:mm:ss”;
    DateUtil.stringToDate(interviewTime,Date_Format_Patten);

    3、时间戳转Date
    注:以下的方法中很多常量和方法我都没有提取出来,正式项目中还是建议大家封装在时间处理类中,规范化操作

    public static void main(String[] args) {
        // 10位的秒级别的时间戳
        long time1 = 1527767665;
        String result1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(time1 * 1000));
        System.out.println("10位数的时间戳(秒)--->Date:" + result1);
        Date date1 = new Date(time1*1000);   //对应的就是时间戳对应的Date
        // 13位的秒级别的时间戳
        double time2 = 1515730332000d;
        String result2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(time2);
        System.out.println("13位数的时间戳(毫秒)--->Date:" + result2);
    }
    

    执行结果

    10位数的时间戳(秒)--->Date:2018-05-31 19:54:25
    13位数的时间戳(毫秒)--->Date:2018-01-12 12:12:12
    

    尤其要注意上面10位的秒级别的时间戳时,不能用int来定义time1变量,否则会得到错误的结果:

    public static void main(String[] args) {
        // 10位的秒级别的时间戳   
        int time1 = 1527767665;   //错误做法
        String result1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(time1 * 1000));
        System.out.println("10位数的时间戳(秒)--->Date:" + result1);
    }
    

    执行出的错误结果

    10位数的时间戳(秒)--->Date:1969-12-17 23:21:47
    

    4、Date转时间戳

    public static void main(String[] args) {
        //获取指定时间的时间戳,除以1000说明得到的是秒级别的时间戳(10位)
        long time = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).parse("2018-06-30 20:00:00", new ParsePosition(0)).getTime() / 1000;
     
        //获取时间戳
        long now1 = System.currentTimeMillis();
        long now2 = new Date().getTime();
     
        System.out.println("获取指定时间的时间戳:" + time);
        System.out.println("当前时间戳:" +now1);
        System.out.println("当前时间戳:" +now2);
    }
    

    执行结果

    获取指定时间的时间戳:1530360000
    当前时间戳:1527769494340
    当前时间戳:1527769494340
    

    5、格式化Date

    public static void main(String[] args) {
        //使用common-lang包下面的DateFormatUtils类
        String format1 = DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss");
        //使用最原始的SimpleDateFormat类
        String format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
     
        System.out.println("格式化时间1:" + format1);
        System.out.println("格式化时间2:" + format2);
    }
    

    执行结果

    格式化时间1:2018-05-31 20:26:49
    格式化时间2:2018-05-31 20:26:49
    

    DateFormatUtils是commons.lang3.time.DateFormatUtils下的,如果你的项目中没有,maven中引入下:

    <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-lang3</artifactId>
       <version>3.6</version>
    </dependency>
    

    6、给日期加上指定时长
    比如,给现在的时间加上12个小时,这个需求也很常见,例如我做过的某个秒杀接口要返回剩余秒杀时间给前端,那么我就直接计算(比如秒杀持续时间为12小时):秒杀(倒计时)截止时间=(当前时间+12H)即可。

    public static void main(String[] args) {
        //将指定日期加上固定时间,DateUtils还有其它添加分钟、小时、月份之类的方法api
        //使用到的是commons-lang包下面的DateUitls类
        Date date = DateUtils.addDays(new Date(), 10);   //
        System.out.println("当前时间为:"+DateFormatUtils.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
        String format = DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss");
        System.out.println("当前时间加上10天后:" + format);
    }
    

    执行结果

    当前时间为:2018-05-31 20:31:53
    当前时间加上10天后:2018-06-10 20:31:53
    

    DateUtils也是commons.lang3.time包下的,别忘了加maven依赖。
    7、得到指定时间节点的日期时间

    public static void main(String[] args) throws ParseException {
            //得到指定日期
            String date = "2018-03-03 15:20:12";
            Date parse = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(date);
            System.out.println(parse);
        }
    

    8、判断两个时间点是否为同一天、同一年
    给定两个日期,快速判断两者是否为同一天或者同一年,比如我做过的一个接口需求是:每人每天有一次抽奖机会,那么当用户当天第二次发送请求时候,我就得判断查询参与记录,并且判断最新一次参与时间和当天是否为同一天。

    /**
         * 判断是否为同一天:使用commons-lang包下的DateUtils类
         *
         * @param day1
         * @param day2
         * @return
         */
        public boolean isSameDay(Date day1, Date day2) {
            return DateUtils.isSameDay(day1, day2);
        }
     
        /**
         * 判断是否为同一天:使用joda依赖包里的时间类,效率从一定程度上优于DateUtils.isSameDay()方法
         *
         * @param date1
         * @param date2
         * @return
         */
        public static boolean isSameDay1(Date date1,Date date2){
            if(date1==null || date2==null){
                throw new IllegalArgumentException("date must be not null");
            }
            LocalDate localDate1 = new LocalDate(new DateTime(date1.getTime()));
            LocalDate localDate2 = new LocalDate(new DateTime(date2.getTime()));
            return localDate1.equals(localDate2);
        }
    

    9、Java 8 日期时间 API

    Java 8 在 java.time 包下提供了很多新的 API。以下为两个比较重要的 API:
    Local(本地) − 简化了日期时间的处理,没有时区的问题。
    Zoned(时区) − 通过制定的时区处理日期时间。
    本地化日期时间 API
    LocalDate/LocalTime 和 LocalDateTime 类可以在处理时区不是必须的情况。代码如下:

    import java.time.LocalDate;
    import java.time.LocalTime;
    import java.time.LocalDateTime;
    import java.time.Month;
     
    public class Java8Tester {
       public static void main(String args[]){
          Java8Tester java8tester = new Java8Tester();
          java8tester.testLocalDateTime();
       }
        
       public void testLocalDateTime(){
        
          // 获取当前的日期时间
          LocalDateTime currentTime = LocalDateTime.now();
          System.out.println("当前时间: " + currentTime);
            
          LocalDate date1 = currentTime.toLocalDate();
          System.out.println("date1: " + date1);
            
          Month month = currentTime.getMonth();
          int day = currentTime.getDayOfMonth();
          int seconds = currentTime.getSecond();
            
          System.out.println("月: " + month +", 日: " + day +", 秒: " + seconds);
            
          LocalDateTime date2 = currentTime.withDayOfMonth(10).withYear(2012);
          System.out.println("date2: " + date2);
            
          // 12 december 2014
          LocalDate date3 = LocalDate.of(2014, Month.DECEMBER, 12);
          System.out.println("date3: " + date3);
            
          // 22 小时 15 分钟
          LocalTime date4 = LocalTime.of(22, 15);
          System.out.println("date4: " + date4);
            
          // 解析字符串
          LocalTime date5 = LocalTime.parse("20:15:30");
          System.out.println("date5: " + date5);
           //获取当前年
          Calendar calendar = Calendar.getInstance();
          int yearNow = calendar.get(Calendar.YEAR); 
          System.out.println("date6: " + yearNow );
       }
    }
    

    执行以上脚本,输出结果为:

    $ javac Java8Tester.java 
    $ java Java8Tester
    当前时间: 2016-04-15T16:55:48.668
    date1: 2016-04-15
    月: APRIL, 日: 15, 秒: 48
    date2: 2012-04-10T16:55:48.668
    date3: 2014-12-12
    date4: 22:15
    date5: 20:15:30
    date6:2018
    

    使用时区的日期时间API
    如果我们需要考虑到时区,就可以使用时区的日期时间API:

    import java.time.ZonedDateTime;
    import java.time.ZoneId;
     
    public class Java8Tester {
       public static void main(String args[]){
          Java8Tester java8tester = new Java8Tester();
          java8tester.testZonedDateTime();
       }
        
       public void testZonedDateTime(){
        
          // 获取当前时间日期
          ZonedDateTime date1 = ZonedDateTime.parse("2015-12-03T10:15:30+05:30[Asia/Shanghai]");
          System.out.println("date1: " + date1);
            
          ZoneId id = ZoneId.of("Europe/Paris");
          System.out.println("ZoneId: " + id);
            
          ZoneId currentZone = ZoneId.systemDefault();
          System.out.println("当期时区: " + currentZone);
       }
    }
    

    执行以上脚本,输出结果为:

    $ javac Java8Tester.java 
    $ java Java8Tester
    date1: 2015-12-03T10:15:30+08:00[Asia/Shanghai]
    ZoneId: Europe/Paris
    当期时区: Asia/Shanghai
    
    展开全文
  • java中时间转换中HH与hh的区别

    千次阅读 2018-02-06 16:27:50
    HH是24小时制,hh是12小时制
  • java中时间转换的算法

    2010-02-21 19:56:27
    Calendar c=Calendar.getInstance(); String ss = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(c.getTime()); int time=(int)(TimeToInteger.parseStringToLong(ss)); ...
  • // 转换成例如2008/06/18起始时间 // String endTime = sdf.format(Long.parseLong("1208275200000")).replace('-', '/')+" "+"05:00:00";// 转换成例如2008/06/18结束时间 // long time=new Date(endTime)....
  • 我负责接收接口传递过来的参数,做相应的转换,出入数据库,一个时间的通过字符串的形式传递过来,这个时间是24小时制,我的转化如下: JSONObject params = new JSONObject(); String scanTime = params....
  • java中时间转换工具

    2021-01-15 19:00:06
    java中时间转换工具类 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * @Author 小袁兄弟 * @Date: 2021/1/2 15:29 * @QQ:1758906065 * @Aphorism: * ...
  • java中时间格式的转换

    2019-01-31 15:41:58
    java中时间格式的转换
  • java中时间转换

    千次阅读 2018-08-16 21:07:17
    有关java编程中时间转换的一点小领悟 SimpleDateFormat是一个以与语言环境相关的方式来格式化和分析日期的具体类。它允许进行格式化(日期 -&gt; 文本)、分析(文本 -&gt; 日期)和规范化 创建对象 ...
  • 将日期类型转换为格式的字符串类型 java.util.Date的日期 ? Date Date date = new Date; ? SimpleDateFormat sdf = new SimpleDateFormat"yyyy-MM-dd HH:mm:ss;个人收集整理 勿做商业用途 ? ?String time=sdf....
  • JAVA中时间格式转换

    2019-01-11 16:49:00
    1.将任意日期格式的字符串转换为指定格式的字符串 //默认格式 String s1 = "20190110133236"; //给定格式 String s2 = "2019-01-10 13:28:15";  1.首先想到的是利用String的字符串拆分,然后使用...
  • Java中UTC时间转换

    2018-06-07 16:49:00
    importjava.text.SimpleDateFormat; importjava.util.Date; import java util.Calendar; publicclassTest{ publicstaticvoidmain(String[]args){ //SimpleDateFormat...
  • java中时间格式转换

    2019-11-15 12:05:16
    ====================================== 1 ========================================= public static void main(String[] args) { Date date = new Date(); System.out.println(date); ...
  • java.util.concurrent.TimeUnit以给定的粒度单位表示Java中的持续时间,并提供跨单位转换的实用方法。 java.util.concurrent.TimeUnit最早是在Java早期(1.5)引入的,但自那时以来已经扩展了好几次。 在此博客文章...
  • java中时间日期格式转换Date与String转换 话不多说,都在代码里面了,秒看懂 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class myData { public ...
  • 前言:作为一名菜鸟,工作经常会遇到时间转换格式,然后遇到就头大,所以自己苦思冥想,最终找到了方法,在这里也给大家贴出来,贴出来也是对我的帮助,我记不住的时候也可以翻一翻,哈哈,与大家语气共勉!...
  • Java时区时间转换

    2020-09-27 17:16:28
    开发,我们可能需要将时区类的时间转换成我们能够理解的且表示正常的date类型(这些场景在数据库时间字段比较常见,如mongo和es,他们储存的时候时间是0时区表示),实例如下: String time = "2020-09-27T03:57:30.003Z...
  • java中时间与时间戳的转换 /* * 将时间转换为时间戳 */ public static String dateToStamp(String s) throws ParseException{ String res; SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-...
  • Java 时间转换

    2019-07-23 15:43:00
    关于Java中时间转换,防止忘记,就先记一部分 Timestamp 转 指定格式 Date 转 字符串 1 Timestamp timestamp1 = Timestamp.valueOf("2019-07-23 12:00:00") ; 2 Timestamp timestamp2 = new Timestamp...
  • java中时间格式转换

    2020-08-20 16:50:24
    java中时间格式转换 说明:这里以Date为例(也可以换成其他格式的日期) SimpleDateFormat的format()方法将日期转为字符串 SimpleDateFormat的parse()方法将字符串转为日期 //设置时间格式 String s = "yyyy-MM-dd...
  • java 时间转换

    2015-05-18 23:03:40
    java 开发,各种时间类的转换,比如时间类型转换成String 类型,String类型转换时间
  • Excel导入时间格式在Java中转换

    千次阅读 2018-08-09 14:10:20
    我们从Excel中获取的时间格式日期(例如 2018-05-01)实际在Java中获取的值为4000多的一个数值,这个数值是距离1900-01-01的天数; //时间转换 Calendar c = new GregorianCalendar(1900,0,-1); Date date= DateUtils....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,257
精华内容 1,702
关键字:

java中时间转换

java 订阅