java - 使用 JodaTime 将本地时间转换为特定国家/地区时间
问题描述
我在试图弄清楚如何使用 Joda 将一个人的当地时间转换为英国时间时遇到问题。说,2015 年 1 月 31 日凌晨 12:00:01 华盛顿特区时间(可以是任何国家的时间)到
31-01-2015 5:00:01am 伦敦时间(伦敦时间应该永远是输出)
DateTimeZone zone = DateTimeZone.forID("Europe/London"); DateTime dt = new DateTime(zone);
似乎无法将其格式化为这种格式 日-月-年时:分:秒:a
解决方案
输入格式为华盛顿特区时间,输出为伦敦时间 您可以有多个区域 ID 作为输入和输出。从此处或此处获取时区 ID
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.joda.time.format.DateTimeFormat;
public class Test {
public static void main(String[] args) throws Exception {
final DateTimeZone fromTimeZone = DateTimeZone.forID("EST");
final DateTime dateTime = new DateTime("2019-01-03T01:25:00", fromTimeZone);
final org.joda.time.format.DateTimeFormatter outputFormatter
= DateTimeFormat.forPattern("yyyy-MM-dd hh:mm:ss a").withZone(DateTimeZone.forID("Europe/London"));
System.out.println("London time:" + outputFormatter.print(dateTime));
}
输出:
伦敦时间:2019-01-03 06:25:00 AM
推荐阅读
- redis - Redis 会话存储问题
- ios - 代号对 iOS QR 阅读器的一次本机调用
- amazon-web-services - AWS Elemental 媒体转换器
- vue.js - Vue js,如果需要基于变量连接名称,如何定位数据对象
- ios - 在 TTTAttributedLabel 中,两种不同的文本颜色不起作用
- cordova - Ionic Cordova InAppBrowser:在 Appbrowser 中打开,底部有按钮,由组件执行功能
- ios - 一个一个地显示单词
- excel - Excel 2010 - 使用多个 IF OR 语句返回不同的值
- r - 如何使用 R 将文本文件转换为冒号分隔的文件
- c# - 如何从 C# 中的字符串中获取奇数字符