我希望获取系统时间戳并将其附加到文件名
Scenario: fielanem timestamp
* def filename = 'samplefilename.txt'
* def timestamp = java.type("java.time.localdatetime").now()
* print timestamp
我需要获取当前时间戳并将其附加到文件名。输出:样本文件名YYYYMMDDHHMMSS.txt
我希望获取系统时间戳并将其附加到文件名
Scenario: fielanem timestamp
* def filename = 'samplefilename.txt'
* def timestamp = java.type("java.time.localdatetime").now()
* print timestamp
我需要获取当前时间戳并将其附加到文件名。输出:样本文件名YYYYMMDDHHMMSS.txt
日期时间 APIjava.util
及其格式化 APISimpleDateFormat
已过时且容易出错。我建议您应该完全停止使用它们并切换到现代日期时间 API。使用现代日期时间和格式化 API,您可以执行以下操作:
* def getDate =
"""
function() {
var DateTimeFormatter = Java.type('java.time.format.DateTimeFormatter');
var dtf = DateTimeFormatter.ofPattern('uuuuMMddHHmmss');
var ldt = java.time.LocalDateTime.now();
return ldt.format(dtf);
}
"""
* def temp = getDate()
* print temp
* def filename = 'samplefilename.txt'
* def finalfilename = filename.split('.')[0]+temp+'.txt'
* print finalfilename
在Trail: Date Time了解有关现代日期时间 API 的更多信息。
请注意,LocalDateTime.now()
返回 JVM 时区中的日期时间,即它给出的值等于LocalDateTime.now(ZoneId.systemDefault())
. 如果您想获取具有特定时区偏移量的本地日期时间,例如时区偏移量为+00:00
小时 ie ZoneOffset.UTC
,您需要使用LocalDateTime now(ZoneId zone)
eg LocalDateTime.now(ZoneOffset.UTC)
。
对于时间戳,您可以使用
* def getDate =
"""
function() {
var SimpleDateFormat = Java.type('java.text.SimpleDateFormat');
var sdf = new SimpleDateFormat('yyyyMMddHHmmss');
var date = new java.util.Date();
return sdf.format(date);
}
"""
* def temp = getDate()
* print temp
* def filename = 'samplefilename.txt'
* def finalfilename = filename.split('.')[0]+temp+'.txt'
* print finalfilename