Java UNIX时间戳转换

yzmm
644 阅读
转换:
public static void main(String[] args) {
        try {
            long epoch = new java.text.SimpleDateFormat ("dd/MM/yyyy HH:mm:ss").parse("09/22/2008 16:33:00").getTime();
            System.out.println(epoch);
            long epoch2 = System.currentTimeMillis()/1000;
            System.out.println(epoch2);
            System.out.println(""+new java.text.SimpleDateFormat("yyyy MM-dd HH:mm:ss").format(new java.util.Date (1364831279L*1000)));
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }

简单取当前:

Math.round(new Date().getTime()/1000)
Mysql:
SELECT UNIX_TIMESTAMP() ; 
SELECT FROM_UNIXTIME( 1249488000, '%Y%m%d' )

1、获取当前系统的UNIX时间戳

System.out.println("获取系统毫秒数方法1:"+Long.toString(new Date().getTime()));
System.out.println("获取系统毫秒数方法2:"+Long.toString(System.currentTimeMillis()));

    注意:以上代码获取的都是系统毫秒数,在实际的操作中我们一般都是记录毫秒说以求记录的精度,当处理UNIX时间戳的时候需要把数据进行处理。


    2、将UNIX时间戳转换成系统可以处理的时间

System.out.println(""+new java.text.SimpleDateFormat("yyyy MM-dd HH:mm:ss").format(new java.util.Date (1215782027390L)));
        输出:2008 07-11 21:13:47
    注意:此时处理的数据为系统毫秒不是UNIX时间戳
    
    3、讲时间转换成UNIX时间戳
        
long epoch = new java.text.SimpleDateFormat ("dd/MM/yyyy HH:mm:ss").parse("09/22/2008 16:33:00").getTime();

评论 (0)

发表评论