当前位置: 首页 > 知识库问答 >
问题:

转换时转换出库时间增加一天

戚森
2023-03-14

我正在尝试转换时区,但它增加了一天额外的java函数

   ""  deActivationDate=2021-06-25T23:59:59.000+0000"";
    
                             SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
                             
                            try {
                                Date date =formatter.parse(deActivationDate);
                                deActivationDate=formatter.format(date);
                                LOGGER.info("time format  printing 1" +deActivationDate);//2021-06-26T04:29:59.000+0430
    
                                deActivationDate = deActivationDate.substring(0, deActivationDate.length()-2)+":30";
    
    LOGGER.info("time format  printing 2" +deActivationDate);//2021-06-26T04:29:59.000+04:30""

在上面的停用日期是25,当我给输入时,但在格式化后,它的转换为26,为什么有一天os得到了添加,如何避免它。

共有1个答案

红甫
2023-03-14

这是您的代码的修复方法。但我们建议不要使用子字符串方法。

String deActivationDate="2021-06-25T23:59:59.000+0000";
 
try {
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
  formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
  Date date =formatter.parse(deActivationDate);
  deActivationDate=formatter.format(date);
  
  System.out.println("time format  printing 1: " +deActivationDate); 
  //2021-06-25T23:59:59.000+0000

  deActivationDate = deActivationDate.substring(0, 
  deActivationDate.length()-4)+"0430";
    
  System.out.println("time format  printing 2: " +deActivationDate); 
  //2021-06-25T23:59:59.000+0430

} catch (Exception e) {
  System.err.println(e.getMessage());
}
 类似资料:
  • 我找不到这个问题的解决方案,我正在从firebase获取数据,其中一个字段是时间戳,看起来像这样- Swift示例(作品): 我的飞镖尝试: 并且它返回的日期/时间是错误的。 更新:

  • 当将同一时间从Sri Jeyawardenepura转换回珀斯时(1/31/2005 11:30 PM),它转换到1/1/2006 3:00 AM。 时区换算为什么会有一个小时的差?

  • 问题内容: 我有一个UTC时间(纪元Unix时间),其格式设置为时间戳,如下所示。 (人类可读的值:2017年5月31日09:57:00) 我需要将格式化为Unix时间的时间戳转换为GPS时间格式,如下所示。 (人类可读的值:2017年5月31日09:57:00) 我需要一个python程序(算法对我来说很好)将Unix时间格式的时间戳转换为GPS时间格式的时间戳。 有一个PHP程序可以这样做。我

  • 我需要能够将从存储在“日期时间”字段中的MySQL数据库中获取的数据转换为Java对象。 我遇到的问题是将本地时间偏移量添加到对象,我不需要它,因为日期时间已经以UTC格式存储在数据库中。所以当我运行以下代码时: 我得到: 我需要时间部分保持不变。 我找不到任何明显的解决问题的方法,所以我在这里错过了什么吗?

  • 主要内容:标签属性,JSF <f:convertDateTime>实例,JSF <f:convertDateTime>实例2标签用于将用户输入转换为指定的日期。 您可以通过将组件标签内的标签嵌套来将组件的数据转换为。 标签有几个属性,可以指定数据的格式和类型。 标签属性 属性 类型 描述 binding DateTimeConverter 它用于将转换器绑定到受委托Bean属性。 dateStyle String 它用于定义由指定的日期或日期字符串的日期部分的格式。 只适用于是或,如果未定义。

  • 我写了这段代码来将12h时间转换为24h时间,但有一个输入: 07:05:45pm 正如您所看到的,我对输入进行了硬编码,因为intellij不允许我传递命令行参数,所以我还想知道如何在intellij中传递命令行论证。 此外,如果你在看了我的代码后能给我一些好的编码习惯,那将是非常有帮助的。