当前位置: 代码迷 >> J2SE >> 【】“时间字符串”转为“秒数”
  详细解决方案

【】“时间字符串”转为“秒数”

热度:86   发布时间:2016-04-24 01:03:55.0
【在线等】“时间字符串”转为“秒数”
现在可以获得如下变量:
String yearStr;
String monthStr;
String dayStr;
String hourStr; // 24进制
String minuteStr;
String secondStr;

分别为年、月、日、时、分、秒的字符串。

我该如何获得,当前时间的“秒数”呢?
(就是,从那个传说中的起始点,到当前所经过的秒数)

------解决方案--------------------
Java code
String yearStr = "2012";        String monthStr = "5";        String dayStr = "10";        String hourStr = "18"; // 24进制        String minuteStr = "2";        String secondStr = "33";        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        String s= yearStr + "-" + monthStr + "-" + dayStr + " " + hourStr + ":" + minuteStr + ":" + secondStr;        try {            System.out.println(sdf.format(sdf.parse(s)));            System.out.println(sdf.parse(s).getTime());        } catch (ParseException e) {            e.printStackTrace();        }
------解决方案--------------------
别忘记了,你处于 GMT+8 的时区上!

Java code
import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.TimeZone;public class Test {    public static void main(String[] args) {        DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        format.setTimeZone(TimeZone.getTimeZone("GMT"));        Date date = parseDate("1970-01-01 00:01:02", format);        System.out.println(date.getTime());    }    public static Date parseDate(String str, DateFormat format) {        Date date = null;        try {            date = format.parse(str);        } catch (ParseException e) {            e.printStackTrace();        }        return date;    }}
------解决方案--------------------
实际上 Unix 纪元的毫秒值是以 UTC 时间 1970 年 1 月 1 日 0 时开始算起的。准备确地说,上面的 TimeZone 应该使用世界协调时:format.setTimeZone(TimeZone.getTimeZone("UTC"));

就秒以上单位的计时而言,可以认为 UTC 与 GMT 是一样的。
------解决方案--------------------
探讨

别忘记了,你处于 GMT+8 的时区上!

Java code
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;

public class Tes……

------解决方案--------------------
Java code
String year="1970";        String month="1";        String day="1";        String hour="00"; // 24进制        String minute="01";        String second="02";        Calendar c=Calendar.getInstance();        c.set(Integer.parseInt(year), Integer.parseInt(month)-1, Integer.parseInt(day),                 Integer.parseInt(hour), Integer.parseInt(minute), Integer.parseInt(second));        long a1=c.getTimeInMillis();        System.out.println(a1);        System.out.println(c.getTime().getTime());        String str = String.format("%tF %<tT", a1);        System.out.println("str:"+str);
------解决方案--------------------
探讨

实际上 Unix 纪元的毫秒值是以 UTC 时间 1970 年 1 月 1 日 0 时开始算起的。准备确地说,上面的 TimeZone 应该使用世界协调时:format.setTimeZone(TimeZone.getTimeZone("UTC"));

就秒以上单位的计时而言,可以认为 UTC 与 GMT 是一样的。
  相关解决方案