How to convert “YYYY-MM-DD hh:mm:ss” to UNIX timestamp in Java?

前端 未结 3 937
执笔经年
执笔经年 2020-12-20 09:59

Or, maybe you know a better approach how to solve this problem. I get dates in the format of \"YYYY—MM-DD HH:MM:SS\" and need to calculate time difference between now then i

相关标签:
3条回答
  • 2020-12-20 10:12

    Have a look at the SimpleDateFormat.

    You can define your pattern and parse it into a Java Date Object:

    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date = format.parse("your string goes here");
    long timestamp = date.getTime();
    

    The first line defines the SimpleDateFormat (can also be static if you reuse it a lot) The second line parses your input The third line converts it into milliseconds.

    0 讨论(0)
  • 2020-12-20 10:18

    You need to convert your string into java.util.Date with the assistance of SimpleDateFormat (for examples see - https://stackoverflow.com/search?q=simpledateformat+%5Bjava%5D) and then get the number of milliseconds since January 1, 1970, 00:00:00 GMT.

    Date dt = new Date();
    long unixTimeStamp = dt.getTime();
    
    0 讨论(0)
  • 2020-12-20 10:23

    First you need to parse your date string to a Date and then get the timestamp from that:

    final SimpleDateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
    
    final String myDateString = "someDateString";
    final Date date = dateFormat.parse(myDateString);
    
    final long timestamp = date.getTime();
    

    Have a look at the SimpleDateFormat javadocs for information on which format string to use.

    0 讨论(0)
提交回复
热议问题