如何将给定时间(如日期字符串)转换为 13 位数字时间戳

How do I convert an given time like date string to 13 digit timestamp

我想在 SOAPUI 中测试 API,我必须以 21 Dec 2016 12:34:45 格式发送时间请求,API 会获取所有记录出现在提供的开始日期和结束日期之间。
现在我必须断言记录是否实际存在于该日期范围内,并且响应采用 13 位 unix 时间戳格式。我想将 21 Dec 2016 12:34:45 转换成 13 位 unix 时间戳 格式。

使用 Java 内置 Timestamp:

DateFormat dateFormat = new SimpleDateFormat("dd MMM yyyy HH:mm:ss", Locale.ENGLISH);
Date date = dateFormat.parse("21 Dec 2016 12:34:45");
long time = date.getTime();
System.out.println(time);

使用简单日期格式将文本中的日期转换为日期变量。然后你可以使用Date.getTime方法。

2016 年 12 月 21 日 12:34:45 = dd MMM yyyy HH:mm:ss

您应该能够编写其余代码。

假设您需要 groovy 中的解决方案,因为问题标有 soapui, ready-api 个标签。

在groovy中很简单:

例如,您在 Groovy 脚本 测试步骤中的变量中有日期,如下所示。

def t = '21 Dec 2016 12:34:45'

获取时间戳所需要做的就是:

log.info "${new Date(t).getTime()}"

您可以使用以下语句将其分配给变量:

def longTime = new Date(t).getTime()