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

获取当前系统UTC日期和时间,并添加5秒,将其格式化为单行所需格式

唐渊
2023-03-14

所以我在做一个项目,我需要这样做:

Expression exp = parser.parseExpression("code comes here");
System.out.println(exp.getValue());

我试过很多种组合,下面是一些:

Expression exp = parser.parseExpression("new java.text.SimpleDateFormat(\"yyyy-MM-dd'T'hh:mm:ss\").format(new java.util.Date().from( new java.util.Date().toInstant().plusSeconds(5)))");
Expression exp = parser.parseExpression("new java.text.DateFormat.getInstance().format(new java.util.Date().from( new java.util.Date().toInstant().plusSeconds(5)))");
Expression exp = parser.parseExpression("new java.util.Date().toInstant().plusSeconds(5)");
Expression exp = parser.parseExpression("new java.text.SimpleDateFormat(\"yyyy-MM-dd'T'hh:mm:ss\").format(new java.util.Date().toInstant().plusSeconds(5))");

我的每件事都至少有一个问题...所以请试着纠正它或给出正确的一个plz

共有1个答案

安高翰
2023-03-14
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

public class Main {
    public static void main(String[] args) {
        System.out.println(ZonedDateTime.now(ZoneOffset.UTC).plusSeconds(5)
                .format(DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ss", Locale.ENGLISH)));
    }
}
2021-06-17T09:45:14

联机演示

基于此,您可以创建您的表达式,如下所示:

Expression exp = parser.parseExpression("ZonedDateTime.now(ZoneOffset.UTC).plusSeconds(5)
            .format(DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ss", Locale.ENGLISH))");

出于任何原因,如果您希望从java.util.date对象获取instant,可以使用date#toinstant:

new Date().toInstant().plusSeconds(5).atZone(ZoneOffset.UTC)
                .format(DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ss", Locale.ENGLISH))
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.ENGLISH)
                .format(Date.from(new Date().toInstant().plusSeconds(5).atZone(ZoneOffset.UTC).toInstant()))
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.ENGLISH)
                .format(new Date(new Date().toInstant().plusSeconds(5).atZone(ZoneOffset.UTC).toInstant().toEpochMilli()))

从Trail:Date Time中了解有关现代日期时间API的更多信息。

*无论出于什么原因,如果您必须坚持Java6或Java7,您都可以使用ThreeTen-Backport,它将大部分Java.time功能后端到Java6和7。如果您正在为一个Android项目工作,并且您的Android API级别仍然不符合Java-8,那么通过desugaring检查Java8+API可用,以及如何在Android项目中使用ThreeTenABP。

 类似资料:
  • 问题内容: 我使用以下代码检索当前日期和时间,然后使用以下方法将其添加到表中。 约会时间 hibernate 问题答案: 要将日期更改为序号,您需要使用以下后缀。看看这个链接,以及 还可以使用fmt库在jsp页面上设置日期格式

  • 我有一个方法可以生成一个随机的日期和时间。 打印输出类似于 我见过几个这样的问题和页面,但他们没有给我一个线索。

  • 本文向大家介绍PHP获取当前日期和时间及格式化方法参数,包括了PHP获取当前日期和时间及格式化方法参数的使用技巧和注意事项,需要的朋友参考一下 使用函式 date() 实现 显示的格式: 年-月-日 小时:分钟:秒 相关时间参数: a - "am" 或是 "pm" A - "AM" 或是 "PM" d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31" D - 星期几,三个英

  • 问题内容: 我有一个来自sqllite数据库的格式化日期,要在图形视图中使用它,我需要将其格式化为长整数。 格式为: 2012-07-11 10:55:21 如何将其转换为毫秒? 问题答案: 您可以使用以下代码将字符串转换为Date对象: 然后使用内置方法将其转换为毫秒

  • 我想把这个2021年1月20日20:10:14转换成yyyy-MM-dd'T'HH:MM:ss格式。Android系统中的SSS'Z'。目前我正在使用函数,但当我转换为本地格式时,我没有得到原始时间

  • 问题内容: 我需要将当前日期添加到JDBC调用的准备好的语句中。我需要以格式添加日期。 我试过了 但是我有这个错误: 有没有办法获取具有相同格式的对象? 问题答案: A 不是。相反。A 是一个。 您需要将其转换为使用,需要一个构造函数,一个可以提供。