CloudStack项目中使用的时间是UTC时间,具体什么是UTC时间大家可以百度,但是我们需要的时间是正常的时间,所以在国泰君安开发测试云中,同步资源管理中虚拟机的同步管理,需要对虚拟机的时间格式化进行转换。工具类如下,关键是时间格式的问题,时间格式为yyyy-MM-dd'T'HH:mm:ss+SSSS。

public static Date utc2LocalDate(String utcTime) {
        String utcTimePatten = "yyyy-MM-dd'T'HH:mm:ss+SSSS";
        SimpleDateFormat sdf = new SimpleDateFormat(utcTimePatten);
        Date dt = null;
        try {
            dt = sdf.parse(utcTime);
        }
        catch (ParseException e) {
            e.printStackTrace();
        }

return dt;
    }

测试类:

public class TestUtcTime {

/**
     *  
     * @param args
     * @return void
     */

public static void main(String[] args) {
        String ts = "2015-04-22T15:58:54+0800";
        Date date = new Date();
        System.out.println(date);
        System.out.println(DateUtil.utc2LocalDate(ts));

}

}

另外的方法如下:

public class TestUtc {
    public static void main(String args[]) {
        try {
            String ts = "2015-04-22T15:58:54+0800";
            System.out.println("ts = " + ts);
            ts = ts.replace("Z", " UTC");
            System.out.println("ts = " + ts);
            SimpleDateFormat sdf = new SimpleDateFormat(
                    "yyyy-MM-dd'T'HH:mm:ss+SSSS");

Date dt = sdf.parse(ts);

TimeZone tz = sdf.getTimeZone();
            Calendar c = sdf.getCalendar();
            System.out.println("Display name: " + tz.getDisplayName());
            System.out.println(getString(c));
        }
        catch (ParseException pe) {
            System.out.println("Error offset: " + pe.getErrorOffset());
            pe.printStackTrace();
        }
    }

private static String getString(Calendar c) {
        StringBuffer result = new StringBuffer();
        result.append(c.get(Calendar.YEAR));
        result.append("-");
        result.append((c.get(Calendar.MONTH) + 1));
        result.append("-");
        result.append(c.get(Calendar.DAY_OF_MONTH));
        result.append(" ");
        result.append(c.get(Calendar.HOUR_OF_DAY));
        result.append(":");
        result.append(c.get(Calendar.MINUTE));
        result.append(":");
        result.append(c.get(Calendar.SECOND));
        return result.toString();
    }

}

转载请注明:http://www.xujin.org

CloudStack中云主机的UTC时间转为本地时间的更多相关文章

  1. c#中WMI 中的日期和时间转为本地时间

    取得的值:CreationDate:20170122084915 .713600+480 转:   var objQuery = new ObjectQuery("select * from ...

  2. 将UTC日期字符串转为本地时间字符串,如@"yyyy-MM-dd'T'HH:mm:ssZ"转换为本地时间

    由于苹果商店上线应用24小时内会不稳定,更新提醒可能会陷入死循环,更新提醒需要24小时后弹出,需要把苹果返回的上线时间转换为本地时间故写了下边的方法: //将UTC日期字符串转为本地时间字符串//输入 ...

  3. utc时间、本地时间及时间戳转化

    1.时间戳的概念 时间戳的定义请看百科unix时间戳,需要注意的时间戳为当前时刻减去UTC时间(1970.1.1)零点时刻的秒数差,与当前系统所处的时区无关,同一时刻不管在任何时区下得到的时间戳都是一 ...

  4. Python: 处理mongodb文档,怎么让UTC时间转换为本地时间?

    存储数据到MongoDB数据库时,一般我们会加一个更新数据的时间update_time.这时在python代码中 会用到datetime模块以便获取当前系统时间,但是存入到MongoDB数据库时,存储 ...

  5. Python中如何把一个UTC时间转换为本地时间

    需求: 将20141126010101格式UTC时间转换为本地时间. 在网上搜了好长时间都没有找到完美的解决方案.有的引用了第三方库,这就需要在现网安装第三方的软件.这个是万万不可的.因为真实环境不一 ...

  6. UTC、GTC时间和本地时间

    1.问题 对于装有Windows和Linux系统的机器,进入Windows显示的时间和Linux不一致,Linux中的时间比Windows提前8个小时. 2.解决方法 修改/etc/default/r ...

  7. [转帖]UTC时间、GMT时间、本地时间、Unix时间戳

    UTC时间.GMT时间.本地时间.Unix时间戳 https://www.cnblogs.com/xwdreamer/p/8761825.html 引用: https://blog.csdn.net/ ...

  8. UTC时间转换为本地时间

    UTC时间转换为本地时间DATEADD(hour, DATEDIFF(hour,GETUTCDATE(),GETDATE()), OrderDate) <'2015-02-02' DECLARE ...

  9. 关于UTC时间和本地时间

    收藏了个类Publics  可以实现本地时间和UTC时间的转换 UCT时间=本地时间-8    本地时间比UTC时间快8小时 element-ui的日期选择器上  选择的时间显示的是本地时间   但实 ...

随机推荐

  1. html中frameset简介

    1, 只 要 <FRAMESET> <FRAME> 两个标签,框架便是网页画面分成几个框窗,同时取得多个 URL. 2, 该框架只记录如何划分,不会显示任何资料.所以不必放入 ...

  2. ECMAScript6 面向对象 时钟效果

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  3. HDU 4938 Seeing People(2014 Multi-University Training Contest 7)

    思路:根据出发时间把点往速度反方向移动 t*v的 的距离这样就可以当成 全部点一起出发,再把y轴上的点固定不动相当于x轴的点向(-v2,v1)方向移动 .可以把所有点映射到x轴上进行统计即可(要记住同 ...

  4. Eclipse插件开发中对于Jar包和类文件引用的处理(彻底解决插件开发中的NoClassDefFoundError问题)(转)

    目的:Eclipse插件开发中,经常要引用第三方包或者是引用其他插件中的类,由于插件开发环境引用类路径的设置和运行平台引用类路径的设置不同,经常导致开发过程OK,一旦运行则出现NoClassDefFo ...

  5. GDI+ 绘制经验

    现有一种场景,鼠标移动时,假设鼠标坐标为 X , Y , 需实时在 坐标 (X , 0) , (0 , Y) 两处更新内容. 方案一:增加两个label ,或其它控件,鼠标移动时,实时更新 label ...

  6. C/C++函数调用的几种方式及函数名修饰规则以及c++为什么不允许重载仅返回类型不同的函数

    我们知道,调用函数时,计算机常用栈来存放函数执行需要的参数,由于栈的空间大小是有限的,在windows下栈是向低地址扩展的数据结构,是一块连续的内存区域.这句话的意思是栈顶的地址和栈的最大容量是系统预 ...

  7. Struts2中Action接收参数的四种形式

    1.Struts2的Action接收参数的三种形式.      a. 使用Action的属性接收(直接在action中利用get方法来接收参数):                   login.js ...

  8. web开发中常用的技术体系

    HTML html(HyperText  Markup  Language)超文本标记语言"超文本"就是指页面内可以包含图片.链接.程序等非文字元素. 超文本标记语言的结构包括&q ...

  9. sql case when then else end

    我们都知道SQL中适用case when then来转化数据库中的信息 比如 select (case sex when 0 then '男' else '女' end) AS sex from st ...

  10. Type.GetType()反射另外项目中的类时返回null的解决方法

    项目1:ProjectA namespace ProjectA { public class paa { .... } } Type.GetType("paa")返回null Ty ...