Java 获取各时区时间,获取当前时间到格林威治时间1970年01月01日00时00分00秒的秒数

  1. 格林威治时间即UTC/GMT时间,1970年01月01日00时00分00秒(即UTC+8的北京时间1970年01月01日08时00分00秒)
    计算代码如下:
 1  /**
 2      * 获取指定时间到格林威治时间的秒数
 3      * UTC:格林威治时间1970年01月01日00时00分00秒(UTC+8北京时间1970年01月01日08时00分00秒)
 4      * @param time
 5      * @return
 6      */
 7     public static long diffSeconds(String time){
 8         Calendar calendar = Calendar.getInstance();
 9
10         calendar.clear();
11         Date datetime = DatetimeUtil.toDateByDate14(time);
12         calendar.setTime(datetime);
13
14         TimeZone timeZone = TimeZone.getTimeZone("GMT+08:00");
15         calendar.setTimeZone(timeZone);
16         return calendar.getTimeInMillis()/1000;
17     }
18
19     public static void main(String[] args) throws Exception {
20
21         String datetime = DatetimeUtil.getDatetime();
22         System.out.println("=================方法一:calendar============================");
23         System.out.println(diffSeconds(datetime));
24         System.out.println("=================方法二:计算时间差============================");
25         System.out.println(DatetimeUtil.diffSeconds("19700101080000", datetime, DatetimeUtil.PATTERN_YYYYMMDDHHMMSS));
26         System.out.println("=================方法三:使用system============================");
27         System.out.println(System.currentTimeMillis()/1000);
28     }

 

  2. 用Java取指定时区的时间 北京时间,纽约时间,班加罗尔时间

 1 /**
 2      * 取北京时间
 3      * @return
 4      */
 5     public static String getBeijingTime(){
 6         return getFormatedDateString(8);
 7     }
 8
 9     /**
10      * 取班加罗尔时间
11      * @return
12      */
13     public static String getBangaloreTime(){
14         return getFormatedDateString(5.5f);
15     }
16
17     /**
18      * 取纽约时间
19      * @return
20      */
21     public static String getNewyorkTime(){
22         return getFormatedDateString(-5);
23     }
24
25     /**
26      * 此函数非原创,从网上搜索而来,timeZoneOffset原为int类型,为班加罗尔调整成float类型
27      * timeZoneOffset表示时区,如中国一般使用东八区,因此timeZoneOffset就是8
28      * @param timeZoneOffset
29      * @return
30      */
31     public static String getFormatedDateString(float timeZoneOffset){
32         if (timeZoneOffset > 13 || timeZoneOffset < -12) {
33             timeZoneOffset = 0;
34         }
35
36         int newTime=(int)(timeZoneOffset * 60 * 60 * 1000);
37         TimeZone timeZone;
38         String[] ids = TimeZone.getAvailableIDs(newTime);
39         if (ids.length == 0) {
40             timeZone = TimeZone.getDefault();
41         } else {
42             timeZone = new SimpleTimeZone(newTime, ids[0]);
43         }
44
45         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
46         sdf.setTimeZone(timeZone);
47         return sdf.format(new Date());
48     }
 
时间: 2024-11-08 19:01:31

Java 获取各时区时间,获取当前时间到格林威治时间1970年01月01日00时00分00秒的秒数的相关文章

java获取两个时间的相隔时间,包括年、月、日、时、分、秒

public static final int YEAR_RETURN = 0;                    public static final int MONTH_RETURN = 1;                    public static final int DAY_RETURN = 2;                    public static final int HOUR_RETURN= 3;                    public stat

格林治时间,也就是返回从 UTC 1970 年 1 月 1 日午夜开始经过的毫秒数。

(* Delphi获取13位格林治时间实现方法, 与java中的java.lang.System.currentTimeMillis()效果相同 *) var SysTime: TSystemTime; begin GetSystemTime(SysTime); // 方法1 Memo1.Lines.Add(FormatFloat('#', CompToDouble(TimeStampToMSecs( DateTimeToTimeStamp(SystemTimeToDateTime(SysTim

iOS-获取当前时间的年、月、日、时、分、秒

//获取当前时间02    NSDate *now = [NSDate date];03    NSLog(@”now date is: %@”, now);0405    NSCalendar *calendar = [NSCalendar currentCalendar];06    NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit

js获取当前年,月,日,时,分,秒

var date = new Date(); date .getYear(); //获取当前年份(2位) date .getFullYear(); //获取完整的年份(4位) date .getMonth(); //获取当前月份(0-11,0代表1月) date .getDate(); //获取当前日(1-31) date .getDay(); //获取当前星期X(0-6,0代表星期天) date .getTime(); //获取当前时间(从1970.1.1开始的毫秒数) date .getHo

单个获取年、月、日、时、分

var year = new Date().getFullYear() ;//获取当前年份 var month = new Date().getMonth()+1;//获取当前月份 var day = new Date().getDate();//获取当前日 var hours = new Date().getHours(); //获取小时 var minutes = new Date().getMinutes(); //获取分钟

java为啥计算时间从1970年1月1日开始

http://www.myexception.cn/program/1494616.html ---------------------------------------------------------- java为什么计算时间从1970年1月1日开始 今天在看Python  API 时,看到 time 模块 : The epoch is the point where the time starts. On January 1st of that year, at 0 hours,the

日期类的时间从为什么是从1970年1月1日(格林威治时间)

I suspect that Java was born and raised on a UNIX system.UNIX considers the epoch (when did time begin) to be midnight, January 1, 1970.是说java起源于UNIX系统,而UNIX认为1970年1月1日0点是时间纪元. 但这依然没很好的解释"为什么",出于好奇,继续Google,总算找到了答案: http://en.wikipedia.org/wiki/

为什么编程时间从1970年1月1日開始?

查看原文:http://www.ibloger.net/article/136.html 最初计算机操作系统是32位,而时间也是用32位表示. System.out.println(Integer.MAX_VALUE); 2147483647 Integer在JAVA内用32位表示,因此32位能表示的最大值是2147483647. 另外1年365天的总秒数是31536000, 2147483647/31536000 = 68.1 也就是说32位能表示的最长时间是68年.而实际上到2038年01月

为什么编程时间从1970年1月1日开始?

最初计算机操作系统是32位,而时间也是用32位表示. System.out.println(Integer.MAX_VALUE); 2147483647 Integer在JAVA内用32位表示,因此32位能表示的最大值是2147483647.另外1年365天的总秒数是31536000, 2147483647/31536000 = 68.1 也就是说32位能表示的最长时间是68年,而实际上到2038年01月19日03时14分07秒,便会到达最大时间,过了这个时间点,所有32位操作系统时间便会变为