摘要:使用SimpleDateFormat把时间戳转换成指定格式的、指定时区的字符串。

  SimpleDateFormat是Java中的一个日期格式化类,继承了DateFormat,可以实现日期时间和时间字符串的相互转换。为了把时间正确地转换成时间字符串,我们需要考虑当前所在时区,而SimpleDateFormat可以通过继承的方法setTimeZone(TimeZone zone)设置时区:

 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 设置时区为东七区
sdf.setTimeZone(TimeZone.getTimeZone("GMT+7:00"));

  在日期时间格式化时,通常使用的模式字符串为"yyyy-MM-dd HH:mm:ss",代码示例如下:

    public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Instant now = Instant.now();
System.out.println("与时区无瓜葛的时间戳:" + now.toEpochMilli());
Date current = Date.from(now);
System.out.println("本地时间:" + sdf.format(current)); // 设置UTC时区
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
// UTC时间比北京时间少八个小时
System.out.println("SimpleDateFormat UTC时间:" + sdf.format(current));
sdf.setTimeZone(TimeZone.getTimeZone("GMT+7:00"));
System.out.println("GMT+7 时间:" + sdf.format(current));
}

执行结果如下:

与时区无瓜葛的时间戳:1691906288129
本地时间:2023-08-13 13:58:08
SimpleDateFormat UTC时间:2023-08-13 05:58:08
GMT+7 时间:2023-08-13 12:58:08

  sdf.format(current)是把时间戳转换成指定格式的、指定时区的字符串。

使用SimpleDateFormat获取指定时区时间的更多相关文章

  1. 根据本地/服务器时间获取指定时区时间 new Date指定时区时间

    1.代码 function getTimeByTimeZone(timeZone){ var d=new Date(); localTime = d.getTime(), localOffset=d. ...

  2. python 通过pytz模块进行时区的转换,获取指定时区的时间

    import pytz import time import datetime print(pytz.country_timezones('cn')) # 查询中国所拥有的时区 print(pytz. ...

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

    格林威治时间即UTC/GMT时间,1970年01月01日00时00分00秒(即UTC+8的北京时间1970年01月01日08时00分00秒)计算代码如下: /** * 获取指定时间到格林威治时间的秒数 ...

  4. c#获取指定时区的日期

    1.首先将服务器的时间转化为utc时间,然后转换成指定时区的日期 public DateTime GetSpecificZoneNowDate(string zoneName = "Chin ...

  5. iOS开发-NSDate获取当前时区时间

    NSDate Date默认显示的是格林尼治所在地的标准时间(GMT),转换为中国时区需要加上八个小时,针对与这个情况你可以直接在获取时间之后加上八个小时,也可以转换到当前时区,都很简单,代码参考如下: ...

  6. Java获取指定时间的毫秒值的方法

    有以下两种方法获取指定时间的毫秒值: 1.Calendar类 先由getInstance获取Calendar对象,然后用clear方法将时间重置为(1970.1.1 00:00:00),接下来用set ...

  7. PHP 获取中国时间,即上海时区时间

    /** * 获取中国时间,即上海时区时间 * @param <type> $format * @return <type> */ function getChinaTime($ ...

  8. 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本

    摘自:http://blog.csdn.net/forandever/article/details/5711319 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本 ...

  9. js获取指定时间的前几秒

    最近项目上有一个需求是:根据一张图片的拍摄时间获取到这个时间前二后三的一个五秒钟的视频信息,通过查找相关资料写了一个方法拿来记录分享一下. //指定时间减2秒function reduceTwoS(d ...

  10. php 获取指定月份的开始结束时间

    /** * * 获取指定年月的开始和结束时间戳 * * @param int $y 年份 * @param int $m 月份 * @return array(开始时间,结束时间) */ functi ...

随机推荐

  1. php获取类名

    <?php class ParentClass { public static function getClassName() { return __CLASS__; } } class Chi ...

  2. 终于写完轮子一部分:tcp代理 了,记录一下

    24年终自己立了flag: 25年做些轮子玩(用于浪费生命,赚不了钱) 所以25年就准备用c#写一个网络代理NZOrz(nginx知道吧,就那玩意儿干的事),包含 udp/tcp/http1 2 3, ...

  3. [第二章]ABAQUS CM插件中文手册

    ABAQUS Composite Modeler User Manual(zh-CN) Dassault Systèmes, 2018 注: 源文档的交叉引用链接,本文无效 有些语句英文表达更易理解, ...

  4. `go install`指令行为分析

    分析go install [build flags] [packages]指令做了什么,如何实现安装GO软件,我们如何编写一个软件使得可以使用该指令安装自己编写的程序. 参考go官方文档 安装位置 $ ...

  5. node几个类之间的关系

    B/S 架构的应用程序,包含两个部分,客户端和服务端,在每一个http请求至响应的完成,产生了这多姿多彩的网页世界,所以,与B/S 架构的一切相关技术问题,都可以认为是一个http请求过程的详细解释: ...

  6. websocket: the client is not using the websocket protocol: ‘upgrade’ token not found in ‘Connection’ head,客户端没有使用websocket协议:'upgrade'令牌未在'Connection'头中找到

    错误分析 websocket: the client is not using the websocket protocol: 'upgrade' token not found in 'Connec ...

  7. Linux 防火墙及开放端口管理

    查看防火墙是否开启systemctl status firewalld 若没有开启则是开启状态systemctl start firewalld  关闭则start改为stop 查看所有开启的端口fi ...

  8. [源码系列:手写spring] IOC第七节:加载xml文件中定义的Bean

    目录 主要内容 代码分支 核心代码 BeanDefinitionReader AbstractBeanDefinitionReader XmlBeanDefinitionReader 测试 bean定 ...

  9. MySQL 事务隔离级别:社交恐惧症的四个阶段

    MySQL 事务隔离级别:社交恐惧症的四个阶段 在数据库的世界里,数据们也有社交问题!事务隔离级别就是控制它们互相看到对方的程度... 什么是事务隔离? 想象一下,数据库是一个繁忙的餐厅,每个事务都是 ...

  10. nbhh的泛型:TDictionary

    type TCity = class Country: String; Latitude: Double; Longitude: Double; end; const EPSILON = 0.0000 ...