java - 在日期对象中从 BST 到 Java 中的 IST 的日期转换

标签 java android date

我有一个场景,无论我的系统时区是什么,我都必须在日期对象中打印 IST 而不是在字符串中打印。这是我的以下代码。

public static void main(String[] args) throws ParseException {
    Date now = new Date();
    DateFormat sdf = new SimpleDateFormat("yyyy:MM:dd-HH:mm:ss");
     sdf.setTimeZone(TimeZone.getTimeZone("IST"));
     String txnDateTime = sdf.format(now); 
      sdf.setTimeZone(TimeZone.getTimeZone("IST"));
     System.out.println("Date ::: "+txnDateTime);

     Date n = null;
     n = sdf.parse(txnDateTime);
     System.out.println("Date format ::: "+n);

}

我的输出如下:

In String : I am getting as Expected : 2016:08:23-12:46:59 IST Timing
In Date : I am still getting BST Time : Tue Aug 23 08:16:59 BST 2016

我预计日期是 2016 年 8 月 23 日星期二 12:46:59 IST。

如有任何帮助,我们将不胜感激。

提前致谢。

最佳答案

Date.toString() 使用您的 JVM 的默认时区,因为 Date 实际上没有明确的时区 - 它实际上只是几毫秒的包装器。

您必须使用具有明确时区的 DateFormat 进行打印才能在特定时区打印 Date

关于java - 在日期对象中从 BST 到 Java 中的 IST 的日期转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39094723/

相关文章:

java - IntelliJ 说依赖项列表中的项目无效,但它存在于 Maven 存储库中

validation - Extjs 日期字段从 到 或开始结束日期验证

SQL 日期公式

java - 在 Java 中将 JSON 有效负载转换为有用的数据

java - 如何将对象从一台计算机发送到另一台计算机?

java - 使用 Tomcat 配置集群和负载平衡的步骤?

android - getDrawable 从另一个分辨率

javascript - Phonegap 后退按钮我 android 没有捕获

android - 获取最近和正在运行的应用程序列表而不是进程

php - postgresql 类型错误