精华内容
下载资源
问答
  • UTC时间格式转时间戳
    2021-04-25 11:23:13
    export function utc2timestamp(utc_datetime) {
    // 转为正常的时间格式 年-月-日 时:分:秒
    var T_pos = utc_datetime.indexOf('T');
    var Z_pos = utc_datetime.indexOf('Z');
    var year_month_day = utc_datetime.substr(0,T_pos);
    var hour_minute_second = utc_datetime.substr(T_pos+1,Z_pos-T_pos-1);
    var new_datetime = year_month_day+" "+hour_minute_second; // 2017-03-31 08:02:06
    
    // 处理成为时间戳
    timestamp = new Date(Date.parse(new_datetime));
    timestamp = timestamp.getTime();
    
    // 增加8个小时,北京时间比utc时间多八个时区
    var timestamp = timestamp+8*60*60*1000;
    return timestamp;
    }

     

    更多相关内容
  • UTC时间格式化(JAVA) 时间带T Z

    千次阅读 2022-02-16 10:57:19
    时间格式: 2018-01-31T14:32:19Z ;世界标准时间,字符串带T和Z。 这时候需要根据业务来确认你是否要转时间为北京时间,不需要直接SimpleDateFormat即可,需要的设置相应时区再转。 简单介绍 1、UTC(协调...

    目录

    简单介绍

    时间类

    当前环境时区

    UTC转本地时间

    Window系统环境


    时间格式: 2018-01-31T14:32:19Z ;世界标准时间,字符串带T和Z。

    这时候需要根据业务来确认你是否要转时间为北京时间,不需要直接SimpleDateFormat即可,需要的设置相应时区再转。

    简单介绍

    1、UTC(协调世界时)又称世界统一时间、世界标准时间、国际协调时间。

    2、GMT(格林尼治标准时间)一般指世界时

    3、CST(中央标准时间)可视为美国、澳大利亚、古巴或中国的标准时间。

    CST可以为如下4个不同的时区的缩写:

    美国中部时间:Central Standard Time (USA) UT-6:00

    澳大利亚中部时间:Central Standard Time (Australia) UT+9:30

    中国标准时间:China Standard Time UT+8:00

    古巴标准时间:Cuba Standard Time UT-4:00

    时间类

    Date:

    尽管 Date 类打算反映协调世界时 (UTC),但无法做到如此准确,这取决于 Java 虚拟机的主机环境。

    一些计算机标准是按照格林威治标准时 (GMT) 定义的,格林威治标准时和世界时 (UT) 是相等的。

    UTC 和 UT 的区别是:UTC 是基于原子时钟的,UT 是基于天体观察的,两者在实际应用中难分轩轾。

    闰秒是根据需要引入 UTC 的,以便把 UTC 保持在 UT1 的 0.9 秒之内,UT1 是应用了某些更正的 UT 版本。

    DateFormat:

    将日期表示为 Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年 1 月 1 日 00:00:00 这一刻开始的毫秒数

    当前环境时区

    //当前时间Date
    
    Date now = new Date();
    
    System.out.println(now);
    
    //Wed Jan 31 23:32:03 GMT+08:00 2018
    
    
    //例如我的环境时区为:(UTC+08:00)北京,重庆,香港特别行政区,乌鲁木齐(+0800)
    
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
    
    System.out.println(sdf.getTimeZone());
    
    System.out.println(sdf.format(now));
    
    //sun.util.calendar.ZoneInfo[id="GMT+08:00",offset=28800000,
    //dstSavings=0,useDaylight=false,transitiOns=0,lastRule=null]
    
    //2018-01-31T23:32:03.469+0800

    UTC转本地时间

    时间带T Z

    有时候看到世界带T Z (如:2018-01-31T14:32:19Z) UTC统一时间

    T代表后面跟着是时间,Z代表0时区(相差北京时间8小时)

    首先定义一个UTC时间为:2018-01-31T14:32:19Z

    String utcTime = "2018-01-31T14:32:19Z";
    
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
    
    //设置时区UTC
    
    df.setTimeZone(TimeZone.getTimeZone("UTC"));
    
    //格式化,转当地时区时间
    
    Date after = df.parse(utcTime);
    
    System.out.println(after);
    
    //Wed Jan 31 22:32:19 GMT+08:00 2018

    再从Date转直观字符串

    df.applyPattern("yyyy-MM-dd HH:mm:ss");
    
    //默认时区
    
    df.setTimeZone(TimeZone.getDefault());
    
    System.out.println(df.format(after));
    
    //2018-01-31 22:32:19

    Window系统环境

    展开全文
  • 项目中,leader强制要求前后端必须使用utc时间格式进行交互,也就是返回给前端的时间换成utc,同时前端调用后面时间也使用utc时间格式 总体思路就是: 1.在返回和接收时间的UtcDto实体类上加上 @JsonFormat(pattern ...


    前言

    项目中,leader强制要求前后端必须使用utc时间格式进行交互,也就是返回给前端的时间换成utc,同时前端调用后面时间也使用utc时间格式
    总体思路就是:
    1.在返回和接收时间的UtcDto实体类上加上 @JsonFormat(pattern = “yyyy-MM-dd’T’HH:mm:ss.SSS’Z’”)
    2.并且在application.yml配置spring mvc接收时间的格式也为 “yyyy-MM-dd’T’HH:mm:ss.SSS’Z’”

    如下demo示例

    一、项目结构

    在这里插入图片描述

    二、pom依赖

    只需要引入springboot web start即可

      <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    

    完整pom文件如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.4.1</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.cch</groupId>
        <artifactId>utcdemo</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>utcdemo</name>
        <description>Demo project for Spring Boot</description>
    
        <properties>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <excludes>
                            <exclude>
                                <groupId>org.projectlombok</groupId>
                                <artifactId>lombok</artifactId>
                            </exclude>
                        </excludes>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    
    </project>
    
    

    三、application.yml配置如下

    接收前端请求必须要有该配置,不然JsonFormat转换会失败

    server:
      port: 8888
    
    spring:
      mvc:
        format:
          date: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'  # 接收前端请求必须要有该配置,不然JsonFormat转换会失败
    

    四、DateUtil

    其实这个只是为方便管理时间格式

    public class DateUtil {
    
        public static final String UTC_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
    
    }
    
    

    五、UtcDto

    在@JsonFormat 的pattern指定时间格式为UTC

    package com.cch.utcdemo.dto;
    
    import com.fasterxml.jackson.annotation.JsonFormat;
    import lombok.Data;
    import java.util.Date;
    
    /**
     * @Author chenchanghui
     * @date 2021/1/14 19:37
     */
    @Data
    public class UtcDto {
        @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
        private Date createTime;
    }
    

    六、UtcController

    @RestController
    @RequestMapping("/testutc")
    public class UtcController {
    
        /**
         * 后端返回utc时间给前端
         * @return 
         */
        @RequestMapping(value = "", method = RequestMethod.GET)
        public ResponseEntity getUtcDate() {
            UtcDto utcDto = new UtcDto();
            utcDto.setCreateTime(new Date());
            return new ResponseEntity(utcDto, HttpStatus.OK);
        }
    
        /**
         * 后端接收前端发送的utc时间
         * @param utcDto 
         */
        @RequestMapping(value = "/query", method = RequestMethod.GET)
        public void queryUtcDate(UtcDto utcDto) {
            System.out.println(utcDto.getCreateTime());
        }
    }
    
    

    七、测试

    后端返回前端UTC时间格式,测试ok
    在这里插入图片描述

    前端发送UTC时间格式给后端,测试ok
    在这里插入图片描述
    在这里插入图片描述

    总结

    工作中,后端返回utc时间给前端,前端根据浏览器所在时区进行处理展示。
    同时前端发送请求给后端的时间也根据浏览器所在时区进行转换才发送给后端。

    展开全文
  • 在前后端数据接口通信中,后台返回的时间往往是 UTC 格式的,即2020-10-12T10:31:35.891724+00:00这种。 作为前端,我们需要将其转换为标准的本地格式,并用“YYYY-MM-DD HH:mm:ss”这种格式呈现给用户,用户才能看...

    背景

    在前后端数据接口通信中,后台返回的时间往往是 UTC 格式的,即2020-10-12T10:31:35.891724+00:00这种。

    作为前端,我们需要将其转换为标准的本地格式,并用“YYYY-MM-DD HH:mm:ss”这种格式呈现给用户,用户才能看得懂。

    那么通常怎么将他们进行转换呢?

    探究

    先来理解下 UTC 时间和本地时间

    以北京为例,我在写这篇博客的时候,时间是:

    var d = new Date()
    d.toLocaleTimeString() // "上午10:46:42"
    

    而此时的 UTC 时间为:

    d.toUTCString() // "Tue, 13 Oct 2020 02:46:42 GMT"
    

    也就是说,我所在的北京(东八区)时间,比 UTC (世界时间)提前了8个小时。

    那么,对于一个后台返回的标准时间(以2020-10-12T10:31:35.891724+00:00为例)来说,最后面的+00:00则告诉了你当前时间是以哪个时区来计算的(+00:00代表了零时区)。

    比如,将2020-10-12T10:31:35.891724+00:00转换成东八区时间也即北京时间:

    new Date('2020-10-12T10:31:35.891724+00:00')
    // Mon Oct 12 2020 18:31:35 GMT+0800 (中国标准时间)
    

    可以看到后面有+0800,意味着这是东八区,即世界时间向东跨越了八个时区(加了8个小时)就是你看到的北京本地时间。

    ⚠️时区的划分,以零时区为基准,向东则加,向西则减,相邻时区相差为一小时,全球共24个时区。

    转换

    上面讲的其实没什么用,只是帮助大家理解一些基础的概念。

    想要将复杂的 UTC 转成响应的格式,最好当然是寻找插件来帮忙了。

    1、moment

    不会吧?不会吧?大名鼎鼎的 moment 不会真的有人不知道吧?

    import moment form 'moment'
    var time = '2020-10-12T10:31:35.891724+00:00'
    moment(new Date(time)).format('YYYY-MM-DD HH:mm:ss')
    // "2020-10-12 18:31:35"
    

    moment 还有个专门的时区处理类库,点我直达

    用了这个类库,也能正确处理时区之间的转换哦

    // npm install moment-timezone
    var moment = require('moment-timezone');
    var tz = 'Asia/Choibalsan'  //时区
    moment.utc(time).tz(tz).format()
    // "2020-10-12T18:31:35+08:00"
    moment.utc(time).tz(tz).format('YYYY-MM-DD HH:mm:ss')
    //"2020-10-12 18:31:35"
    

    当然这里还需要注意一下,如果你传递的参数是hh:mm:ss而不是HH:mm:ss,那么moment在处理上是有区别的,hh 将会采用 12小时制,HH 则会采用 24小时制。

    moment.utc(time).tz(tz).format('YYYY-MM-DD hh:mm:ss')
    // "2020-10-12 06:31:35"
    

    2、date-fns

    看这名称就能猜到,这又是一个处理时间的插件。而且,相比moment一点不虚呢,他是一个类似 lodash 的工具集,而且是专门针对各种日期的工具集。

    详细的大家自己看文档吧,内容太多了。

    地址在这里

    import { format } from 'date-fns'
    format(new Date(time), 'YYYY-MM-DD HH:mm:ss')
    //"2020-10-12 18:31:35"
    

    欢迎留言讨论

    展开全文
  • * utc 时间格式转换正常格式 * @param utcTime 时间 * @return */ public static String formatStrUTCToDateStr(String utcTime,String pattern) { // String s = "Mon Feb 13 08:00:00 GMT+08:00 2012" ...
  • java UTC时间格式转换

    千次阅读 2019-09-24 17:25:24
    UTC时间格式样例:2018-09-28T16:00:00.000Z 常用的时间格式样式:2018-09-28 24:00:00 将常用时间格式转换成UTC格式 public static String formatUTC(String date) { SimpleDateFormat sdf = new ...
  • 参考网址:https://262.ecma-international.org/6.0/#sec-date-time-string-format
  • UTC时间格式转换

    千次阅读 2019-12-31 16:31:44
    utc2018-03-07T16:00:00.000Z 格式转换2018-03-08 00:00 // UTC 转指定格式日期 export function utcTransform(datas) { let date = new Date(datas) let Y = date.getFullYear().toString(); let M = (date.g....
  • 有时使用一些公开api会碰到UTC时间格式,而将UTC时间格式转换成本地时间格式可以采用以下js办法 UTCformat (utc) { var date = new Date(utc), year = date.getFullYear(), month = date.getMonth()+1 > 9 ? ...
  • 一、本地时间显示DateTime now = DateTime.Now; //本地时间格式 Console.WriteLine(now.ToLongDateString()); Console.WriteLine(now.ToLongTimeString());...二、UTC时间格式//Utc时间格式 DateTimeOff...
  • 说明:python本地时间与UTC时间转换,程序中常用于日志或生成文件命名,待补充完善。 参考小例 # -*- coding: utf-8 -*- import time import datetime class TimeShift: def __init__(self): pass def get_utc...
  • utc时间格式转字符串

    2020-05-20 13:55:12
    SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //拿到Date对象 Date date1 = sdf1.parse(searchTime[0]);...
  • VUE-日期选择器-UTC时间格式转换

    千次阅读 2019-10-02 15:10:00
    VUE-日期选择器,返回的时间为UTC格式:Thu Oct 03 2019 00:00:00 GMT+0800 (中国标准时间),我们需要将UTC时间格式转换成我们需要的格式,例如:2019-09-30 05:12:30 ,或者:2019-09-30 代码展示: <label ...
  • ‘YYYY-MM-DDTHH:mm:ss.SSS[Z]’
  • 本篇文章是对C++中获取UTC时间精确到微秒的实现进行了详细的分析介绍,需要的朋友参考下
  • java 获取UTC时间格式

    千次阅读 2017-11-02 11:19:08
    /** ... * [获取UTC标准时] * [功能详细描述] * @return * @exception/throws [违例类型] [违例说明] * @see [类、类#方法、类#成员] */ private String getUTCDate() { String dateStr =
  • UTC时间格式(2018-09-11T05:59:10.000)格式化为yyyy-MM-dd HH:mm:ss格式 private static String formatTime(String time) throws ParseException { SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd'T'...
  • 首先UTC时间格式先转换成 (时间 Fri Nov 27 2020 10:58:41 GMT+0800 (中国标准时间))这种时间格式 之后就对该时间串进行获取年月日时分秒 之后对获取的时间进行拼接 timeChange(UTCDateString) { if (!...
  • package jp.misumi.wos.components.service.hp; import java.text....//输出格式:2017-01-22 09:28:33 System.out.println(str); } catch (Exception e) { e.printStackTrace(); } } }
  • Java微服务对UTC时间格式的处理

    千次阅读 2018-02-11 21:26:11
    先说一下为什么要使用UTC时间。开发一个全球化的系统,服务端(Java微服务)集中部署在同一个地方,用户在全球通过浏览器、手机客户端访问。不同地区的时区是不一样的,同一个时间戳,不同的用户看到的是不同的时间...
  • timeChange(UTCDateString) { if (!UTCDateString) { return '-'; } function formatFunc(str) { return str > 9 ? str : '0' + str ... console.log('时间', date2) var year = date2.getFull.
  • //UTC时间转换 public static String UTCToCommon(String dateString,String pattern) { DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); //yyyy-MM-dd'T'HH:mm:ss.SSSZ D...
  • } } 如果需要其他格式,在parsePatterns数组中追加 如: yyyy/MM-dd yyyy年5-06 UTC时间格式化,加上八小时 public static Date parseUTCText(String text) throws ParseException { SimpleDateFormat sdf = new ...
  • JS UTC时间格式字符串: 2019-05-28T09:00:20.000Z new Date('2019-05-28T09:00:20.000Z') 在浏览器里面执行这个new Date('2019-05-28T09:00:20.000Z')代码,会把这个“2019-05-28T09:00:20.000Z”UTC协调时间自动...
  • dayjs怎么处理UTC时间格式

    千次阅读 2021-02-05 17:21:49
    参考资料 ...解决方式 安装依赖 ...如果想使用 UTC 时间,您可以调用 dayjs.utc() 而不是 dayjs()。 例子: var utc = require('dayjs/plugin/utc') dayjs.extend(utc) // 默认当地时间 dayjs().format()
  • 例如:1597114980172 转化成:2019-05-23T12:28:39.132Z
  • 记录一下时间转换问题,之前看到一篇文章,虽然转为了北京时间,但是时间不对,主要是少了一步。 1.SimpleDateFormat sdf1 = new SimpleDateFormat(“yyyy-MM-dd’T’HH:mm:ss.SSS”); 2.SimpleDateFormat sdf2 = ...
  • UTC时间转换工具

    2015-01-19 13:47:31
    将yyyy-MM-dd HH:mm:ss 时间格式UTC时间之间的互转的工具。
  • 测试类:  SimpleDateFormat sdf1 = new ... //输出格式:2017-01-22 09:28:33  String str = sdf2.format(date);  System.out.println(str);  } catch (Exception e) {  e.printStackTrace();  }  

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 66,602
精华内容 26,640
关键字:

utc时间格式

友情链接: 12864中文显示测试.rar