精华内容
下载资源
问答
  • java获取UTC时间

    2020-07-22 19:52:13
    方法一:获取UTC时间 */ private static String getUTCDate() { String dateStr = ""; Date date = null; String months = "", days = "", hours = "", sec = "", minutes = ""; DateFormat form.

     第一种复制人家的,原文是找不到了,如有侵权,联系删除。

    /*
            方法一:获取UTC时间
         */
        private static String getUTCDate() {
            String dateStr = "";
            Date date = null;
            String months = "", days = "", hours = "", sec = "", minutes = "";
            DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
            StringBuffer UTCTimeBuffer = new StringBuffer();
            Calendar cal = Calendar.getInstance();
            int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET);
            int dstOffset = cal.get(java.util.Calendar.DST_OFFSET);
            cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));
            int year = cal.get(Calendar.YEAR);
            int month = cal.get(Calendar.MONTH) + 1;
            int day = cal.get(Calendar.DAY_OF_MONTH);
            int hour = cal.get(Calendar.HOUR_OF_DAY);
            int minute = cal.get(Calendar.MINUTE);
            int second = cal.get(Calendar.SECOND);
            if (month < 10) {
                months = "0" + String.valueOf(month);
            }
            else {
                months = String.valueOf(month);
            }
            if (minute < 10) {
                minutes = "0" + String.valueOf(minute);
            }
            else {
                minutes = String.valueOf(minute);
            }
            if (day < 10) {
                days = "0" + String.valueOf(day);
            }
            else {
                days = String.valueOf(day);
            }
            if (hour < 10) {
                hours = "0" + String.valueOf(hour);
            }
            else {
                hours = String.valueOf(hour);
            }
            if (second < 10) {
                sec = "0" + String.valueOf(second);
            }
            else {
                sec = String.valueOf(second);
            }
            UTCTimeBuffer.append(year).append("-").append(months).append("-").append(days);
            UTCTimeBuffer.append("T").append(hours).append(":").append(minutes).append(":").append(sec).append("Z");
            try {
                date = format.parse(UTCTimeBuffer.toString());
                dateStr = format.format(date);
            }
            catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return dateStr;
        }
    
        /*
           方法二:获取UTC时间
         */
        public static String getUTCTimeStr(){
            LocalDateTime now = LocalDateTime.now(ZoneOffset.UTC);
            return now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'"));
        }
    
        public static void main(String[] args) {
            System.out.println(getUTCTimeStr());
            System.out.println("------");
            System.out.println(getUTCDate());
        }

     

    展开全文
  • Java获取UTC时间

    千次阅读 2020-04-16 09:17:59
    工具:joda-time Mvn: joda-time joda-time 2.10.5 使用: private static final String UTC_FORMATTER_PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";... 比java.util.Calendar简单,例如《Java获得UTC时间》。

    工具:joda-time

    Mvn:

    <!-- https://mvnrepository.com/artifact/joda-time/joda-time -->
    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>2.10.5</version>
    </dependency>

    使用:

    private static final String UTC_FORMATTER_PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
    
    DateTimeFormatter fmt = DateTimeFormat.forPattern(UTC_FORMATTER_PATTERN);
    DateTime now = DateTime.now(DateTimeZone.UTC);
    String nowStr = fmt.print(now);

    比java.util.Calendar简单,例如《Java获得UTC时间》。

    展开全文
  • JAVA获取UTC时间

    2017-05-03 14:24:41
    Java语言中,您可以通过java.util.Calendar类取得一个本地时间或者指定时区的时间实例。 ...//获取本地时间 //java.util.Calendar cal = java.util.Calendar.getInstance(java.util.Locale.C...

    在Java语言中,您可以通过java.util.Calendar类取得一个本地时间或者指定时区的时间实例。

    java.util.Calendar cal = java.util.Calendar.getInstance();//获取本地时间

    //java.util.Calendar cal = java.util.Calendar.getInstance(java.util.Locale.CHINA);//指定时区

     

    int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET);//获取时间偏移量
    int dstOffset = cal.get(java.util.Calendar.DST_OFFSET);//取得夏令时差
    cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));//从本地时间扣除时差

     

    //所取得的时间即是UTC标准时间。
    System.out.println("UTC:"+new Date(cal.getTimeInMillis()));

     

    SimpleDateFormat 实例,默认情况下,还使用本地时区。

    SimpleDateFormat dateFormatGmt = new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss"); dateFormatGmt.setTimeZone(TimeZone.getTimeZone("GMT"));

    dateFormatGmt.format(...)

     

    示例:

    System.out.println("UTC: " +cal.getTime()); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("default: " + format.format(cal.getTime())); format.setTimeZone(TimeZone.getTimeZone("GMT")); System.out.println("GMT: " + format.format(cal.getTime())); format.setTimeZone(TimeZone.getTimeZone("GMT-8")); System.out.println("GMT-8: " + format.format(cal.getTime()));

    输出:

    UTC: Wed May 03 05:18:34 CST 2017

    default: 2017-05-03 05:18:34

    GMT: 2017-05-02 21:18:34

     

    GMT-8: 2017-05-02 13:18:34

     

    备注:毫秒不受时区影响

     

     

    JAVA 8:

    Java 8日期/时间API是JSR-310的实现,它的实现目标是克服旧的日期时间实现中所有的缺陷,新的日期/时间API的一些设计原则是:

     

    1. 不变性:新的日期/时间API中,所有的类都是不可变的,这对多线程环境有好处。
    2. 关注点分离:新的API将人可读的日期时间和机器时间(unix timestamp)明确分离,它为日期(Date)、时间(Time)、日期时间(DateTime)、时间戳(unix timestamp)以及时区定义了不同的类。
    3. 清晰:在所有的类中,方法都被明确定义用以完成相同的行为。举个例子,要拿到当前实例我们可以使用now()方法,在所有的类中都定义了format()和parse()方法,而不是像以前那样专门有一个独立的类。为了更好的处理问题,所有的类都使用了工厂模式策略模式,一旦你使用了其中某个类的方法,与其他类协同工作并不困难。
    4. 实用操作:所有新的日期/时间API类都实现了一系列方法用以完成通用的任务,如:加、减、格式化、解析、从日期/时间中提取单独部分,等等。
    5. 可扩展性:新的日期/时间API是工作在ISO-8601日历系统上的,但我们也可以将其应用在非IOS的日历上。

    Java日期/时间API包

     1, java.time包:这是新的Java日期/时间API的基础包,所有的主要基础类都是这个包的一部分,如:LocalDate, LocalTime, LocalDateTime, Instant, Period, Duration等等。所有这些类都是不可变的和线程安全的,在绝大多数情况下,这些类能够有效地处理一些公共的需求。

       e.g.  LocalDate today = LocalDate.now();// current date

               LocalDate.of(2017, Month.JANUARY, 1);// create date by providing input

    LocalDate.now(ZoneId.of("Asia/Kolkata"));// current date in timezone Asia/Kolkata

     

     java.time.LocalTime:LocalTime是一个不可变的类,它的实例代表一个符合人类可读格式的时间,默认格式是hh:mm:ss.zzz。

       e.g.  LocalTime.now();

    LocalTime.of(12,20,25,40);// create time by providing input

     java.time.LocalDateTime:LocalDateTime是一个不可变的日期-时间对象,它表示一组日期-时间,默认格式是yyyy-MM-dd-HH-mm-ss.zzz。它提供了一个工厂方法,接收LocalDate和LocalTime输入参数,创建LocalDateTime实例.

       e.g.  LocalDateTime.now();

    LocalDateTime.of(LocalDate.now(), LocalTime.now());

     

      java.time.Instant:Instant类是用在机器可读的时间格式上的,它以Unix时间戳的形式存储日期时间.

    e.g. Instant.now();

    Instant.ofEpochMilli(Instant.now().toEpochMilli());

    java.time.chrono包:这个包为非ISO的日历系统定义了一些泛化的API,我们可以扩展AbstractChronology类来创建自己的日历系统。

    java.time.format包:这个包包含能够格式化和解析日期时间对象的类,在绝大多数情况下,我们不应该直接使用它们,因为java.time包中相应的类已经提供了格式化和解析的方法。

    java.time.temporal包:这个包包含一些时态对象,我们可以用其找出关于日期/时间对象的某个特定日期或时间,比如说,可以找到某月的第一天或最后一天。你可以非常容易地认出这些方法,因为它们都具有“withXXX”的格式。

     

    java.time.zone包:这个包包含支持不同时区以及相关规则的类

     

    //utc时间
    e.g. ZonedDateTime.now(ZoneOffset.UTC);

    参考: http://www.importnew.com/14140.html

     

    展开全文
  • 本文实例讲述了Java获取UTC时间的方法。分享给大家供大家参考,具体如下:取得本地时间:java.util.Calendar cal = java.util.Calendar.getInstance();取得指定时区的时间:java.util.TimeZone zone = java.util....

    本文实例讲述了Java获取UTC时间的方法。分享给大家供大家参考,具体如下:

    取得本地时间:

    java.util.Calendar cal = java.util.Calendar.getInstance();

    取得指定时区的时间:

    java.util.TimeZone zone = java.util.TimeZone.getTimeZone(“GMT-8:00″);

    java.util.Calendar cal = java.util.Calendar.getInstance(zone);

    java.util.Calendar cal = java.util.Calendar.getInstance(java.util.Locale.CHINA);

    您可以取得GMT 0的本地时间,但是又如何取得标准(相对于Java而言)的时间呢?

    1. 取得本地时间:

    java.util.Calendar cal = java.util.Calendar.getInstance();

    2. 取得时间偏移量:

    int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET);

    3. 取得夏令时差:

    int dstOffset = cal.get(java.util.Calendar.DST_OFFSET);

    4.从本地时间里扣除这些差量,即可以取得UTC时间:

    cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));

    完整示例:

    import java.text.DateFormat;

    import java.text.ParseException;

    import java.text.SimpleDateFormat;

    import java.util.Calendar;

    import java.util.TimeZone;

    public final class GetUTCTimeUtil {

    private static DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm") ;

    /**

    * 得到UTC时间,类型为字符串,格式为"yyyy-MM-dd HH:mm"

    * 如果获取失败,返回null

    * @return

    */

    public static String getUTCTimeStr() {

    StringBuffer UTCTimeBuffer = new StringBuffer();

    // 1、取得本地时间:

    Calendar cal = Calendar.getInstance() ;

    // 2、取得时间偏移量:

    int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET);

    // 3、取得夏令时差:

    int dstOffset = cal.get(java.util.Calendar.DST_OFFSET);

    // 4、从本地时间里扣除这些差量,即可以取得UTC时间:

    cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));

    int year = cal.get(Calendar.YEAR);

    int month = cal.get(Calendar.MONTH)+1;

    int day = cal.get(Calendar.DAY_OF_MONTH);

    int hour = cal.get(Calendar.HOUR_OF_DAY);

    int minute = cal.get(Calendar.MINUTE);

    UTCTimeBuffer.append(year).append("-").append(month).append("-").append(day) ;

    UTCTimeBuffer.append(" ").append(hour).append(":").append(minute) ;

    try{

    format.parse(UTCTimeBuffer.toString()) ;

    return UTCTimeBuffer.toString() ;

    }catch(ParseException e)

    {

    e.printStackTrace() ;

    }

    return null ;

    }

    /**

    * 将UTC时间转换为东八区时间

    * @param UTCTime

    * @return

    */

    public static String getLocalTimeFromUTC(String UTCTime){

    java.util.Date UTCDate = null ;

    String localTimeStr = null ;

    try {

    UTCDate = format.parse(UTCTime);

    format.setTimeZone(TimeZone.getTimeZone("GMT-8")) ;

    localTimeStr = format.format(UTCDate) ;

    } catch (ParseException e) {

    e.printStackTrace();

    }

    return localTimeStr ;

    }

    public static void main(String[] args) {

    String UTCTimeStr = getUTCTimeStr() ;

    System.out.println(UTCTimeStr);

    System.out.println(getLocalTimeFromUTC(UTCTimeStr));

    }

    }

    运行结果如下:

    PS:这里再为大家推荐几款时间及日期相关工具供大家参考使用:

    在线世界各地时间查询:

    希望本文所述对大家java程序设计有所帮助。

    展开全文
  • Java 获取UTC时间

    万次阅读 2016-08-11 17:34:06
    取得本地时间java.util.Calendar cal = java.util.Calendar.getInstance();取得指定时区的时间java.util.TimeZone zone = java.util.TimeZone.getTimeZone(“GMT-8:00″); java.util.Calendar cal = java.util....
  • 本文实例讲述了Java获取UTC时间的方法。分享给大家供大家参考,具体如下:取得本地时间:java.util.Calendar cal = java.util.Calendar.getInstance();取得指定时区的时间:java.util.TimeZone zone = java.util....
  • Java获取UTC时间的方法本文是百分网小编搜索整理的关于Java获取UTC时间的方法,结合具体实例形式详细分析了Java针对时区、本地时间、时间偏移量等相关操作技巧,,感兴趣的小伙伴们可以参考一下!想了解更多相关信息请...
  • 本文实例讲述了java获取utc时间的方法。分享给大家供大家参考,具体如下:取得本地时间:java.util.calendar cal = java.util.calendar.getinstance();取得指定时区的时间:java.util.timezone zone = java.util....
  • 主要介绍了Java获取UTC时间的方法,结合具体实例形式详细分析了Java针对时区、本地时间、时间偏移量等相关操作技巧,需要的朋友可以参考下
  • java 获取UTC时间格式

    千次阅读 2017-11-02 11:19:08
    /** ... * [获取UTC标准时] * [功能详细描述] * @return * @exception/throws [违例类型] [违例说明] * @see [类、类#方法、类#成员] */ private String getUTCDate() { String dateStr =
  • Java项目统一UTC时间方案作者:Gods_巨蚁引言近期团队的个别项目在进行框架升级后,部分时间值存在8小时误差,原因是错误的将数据库中的时间数据理解成了UTC时间(旧版本认为是北京时间)考虑到未来项目对于时间理解的...
  • 0、引言Druid中时区的问题一直困扰着我们,所以我专门去研究了一下世界时区和Java中的时区,对使用Druid很用帮助.1、UTC时间&GMT时间UTC时间是时间标准时间(Universal Time Coordinated),UTC是根据原子钟来计算...
  • 如何在Java获取UTC或GMT中的当前日期和时间?当我创建一个新的Date对象时,它被初始化为当前时间但在本地时区。 如何获得GMT中的当前日期和时间?30个解决方案354 votesDate.toString()没有特定的时区,尽管它的值...
  • 我想获取UTC的当前时间。我到目前为止所做的是(仅出于测试目的):DateTime dt = new DateTime();DateTimeZone tz = DateTimeZone.getDefault();LocalDateTime nowLocal = new LocalDateTime();DateTime nowUTC = ...
  • 我想得到当前UTC时间.到目前为止,我所做的只是为了测试目的:DateTime dt = new DateTime();DateTimeZone tz = DateTimeZone.getDefault();LocalDateTime nowLocal = new LocalDateTime();DateTime nowUTC = ...
  • 我试了一下在calendar的getinstance方法参数修改并不能直接获取UTC时间,在尝试过之后终于找到一个简单的方法,通知data类直接获取时间戳,然后设置时间戳来达到转换时区的方法。分享代码,供大家参考。本方法只适用...
  • 由于一些博客写的Java实现获取UTC时间都不正确,本文在这里提供一种可行的方法实现获取UTC时间(单位为ms)的值,代码如下: public static long getCurrentUtcMillisTime() { Calendar calendar = Calendar....
  • 我试了一下在calendar的getinstance方法参数修改并不能直接获取UTC时间,在尝试过之后终于找到一个简单的方法,通知data类直接获取时间戳,然后设置时间戳来达到转换时区的方法。分享代码,供大家参考。本方法只适用...
  • java利用时间戳来获取UTC时间

    千次阅读 2019-09-14 19:08:59
    由于项目原因,本人在做测试的时候发时间都是UTC时间,因此找了找解决方案,...我试了一下在calendar的getinstance方法参数修改并不能直接获取UTC时间,在尝试过之后终于找到一个简单的方法,通知data类直接获取时...
  • 似乎在给定的输入(当前UTC时间和所需的TZ)下,我应该能够从JodaTime库中链接几个方法来实现我想要的功能,但是在上述示例中似乎希望评估+处理偏移量/应用程序代码中的转换-如果可能的话,我想避免这种情况,...
  • 作者 | 曹建责编 | 屠敏出品 | CSDN(ID:CSDNnews...我们生活中采用的时间是东八区时间, 东八区(UTC / GMT+08:00)是比世界协调时间(UTC)/ 格林尼治标准时间(GMT)快8小时的时区,理论上的位置是位于东经112.5度至127...
  • 对于给定的输入(当前UTC时间和期望的TZ),似乎是这样的,我应该能够链接来自Joda时间库的几个方法来实现我想要的,但是在所述示例中似乎希望评估+处理偏移/在应用程序代码中进行转换 - 我希望尽可能避免这...
  • 我试图使用Jodatime显示特定时间段内的交易.我们的服务器要求开始日期和结束日期为UTC(这可能是显而易见的).因此,围绕它们的任何业务逻辑都使用DateTime对象,时区设置为DateTimeZone.UTC,例如,mStartDate = DateTime...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 233
精华内容 93
关键字:

java获取utc时间

java 订阅