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

Java 7用秒到小数点后7位解析DateTime[重复]

冯和硕
2023-03-14

我必须使用Java7解析通过json发送的日期时间字符串,日期时间的格式如下:

2016-04-26T11:35:30.0543787Z

我可以使用SimpleDateFormat和格式字符串
“yyyy-mm-dd't'hh:mm:ss.sss'z'”来分析该值,但这给出的值不正确。

任何帮助都将不胜感激!

共有1个答案

曹浩
2023-03-14

由于您不关心毫秒的精度,我们可以从秒中去掉小数。

**nb:**输出将取决于服务器/计算机的当前时区。这就是为什么你觉得输出和你预期的不一样。

        String time = "2016-04-26T11:35:30.0543787Z";
        int l = time.lastIndexOf('.');
        time = time.substring(0, l);
        time = time+"Z";
        System.out.println(time);
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
         try {

             Date date = dateFormat.parse(time.replaceAll("Z$", "+0000"));
             System.out.println(date);

             System.out.println("time zone : " + TimeZone.getDefault().getID());
             System.out.println(dateFormat.format(date));

         } catch (ParseException e) {
             e.printStackTrace();
         }
 类似资料:
  • 下面的代码给了我大约14位小数。我怎样才能把它修剪到小数点后2位?

  • 我想把54.5345四舍五入到54.54,也就是说,如果我有第三个小数位,那么我想在第二个小数位上加1。 我试过用math.round但如果第三小数小于5,它总是四舍五入

  • 问题内容: 我有以下JavaScript语法: 这四舍五入为整数。如何返回两位小数的结果? 问题答案: 注-如果3位数精度很重要,请参阅编辑4 toFixed将根据超过2个小数的值为您舍入或舍入。 编辑 -正如其他人所提到的,它将结果转换为字符串。为了避免这种情况: 编辑2- 正如注释中所提到的,此函数在某种程度上会失败,例如在1.005的情况下,它将返回1.00而不是1.01。如果准确性在这个程

  • 我已经阅读了很多stackoverflow问题,但似乎没有一个对我有效。我正在使用<code>数学。round()进行舍入。这是代码: 我得到的输出是:< code>123,但我希望它是< code>123.14。我知道添加< code>*100/100会有所帮助,但是正如你所看到的,我并没有设法让它工作。 输入和输出都是双份绝对是必不可少的。 如果您更改上述代码的第4行并发布它,那将是很大的帮助

  • 我有这个: 我想给这个方法传递一个浮点值,四舍五入到一个小数位,将其转换为字符串,然后返回它。目前,这对数字没有任何影响。 会更有效吗?我是C语言的新手。

  • 问题内容: 应该很容易。我本来是用javascript来做的,但是在设置我的处理程序页面中的表单之前必须先做。无论如何,我需要使这些值具有2个小数位。Ex 219333.5888888必须为219333.58。有修剪功能或其他功能吗? 问题答案: 这是格式化十进制值的简单示例