我有一个日历,它以以下格式返回(它是Java日历类型):cg$ind_its.trans_date := true;
。
将其转换为以下日历并保留日历类型的最简单,最快捷的方法是什么:cg$scm_inventory_trans.ins(cg$rec_its,cg$ind_its,true);
?
在JavaScript中,我们可以使用类似l_its_id := cg$rec_its.id;
答案 0 :(得分:1)
以下是使用Java 8中引入的Date API将字符串转换为示例格式的示例:
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
class Scratch {
public static void main(String[] args) {
String input = "2020-02-15T00:00:00";
LocalDateTime parsedTime = LocalDateTime.parse(input);
ZonedDateTime zonedDateTime = ZonedDateTime.of(parsedTime, ZoneId.of("GMT"));
String output = DateTimeFormatter.ofPattern("EEE MMM dd yyyy HH:mm:ss Z '('z')'")
.format(zonedDateTime);
System.out.print(output);
}
}
答案 1 :(得分:1)
我有一个以以下格式返回的日历(它是Java日历类型):2020-02-15T00:00:00。
不,你没有。
Calendar
对象没有格式。只有表示日期时间值的文本才具有格式。
遵循这样的日历并坚持日历类型:2018年11月5日星期一14:08:58 GMT + 0000(格林威治标准时间)?
没有这样的格式的Calendar
对象,因为Calendar
没有格式并且不是文本。
了解发布前搜索堆栈溢出的信息。这已经被覆盖了很多次。
可怕的Calendar
类是几年前被 java.time 类采用JAR 310取代的。永远不要使用Calendar
。
通过OffsetDateTime
类获取UTC的当前时间。
OffsetDateTime odt = OffsetDateTime.now( ZoneOffset.UTC ) ;
要生成标准ISO 8601格式的文本,请调用toString
。若要将日期时间值保留为文本,请使用以下格式-这就是发明它们的原因。
要生成另一种格式的文本,请使用DateTimeFormatter
类。这已经被覆盖了很多次,因此请搜索Stack Overflow。
如果给定了GregorianCalendar
对象,则可以通过调用添加到旧遗留类中的新方法立即转换为ZonedDateTime
对象。
ZonedDateTime zdt = myGregCal.toZonedDateTime() ;
根据需要进行投射。
ZonedDateTime zdt = ( (GregorianCalendar) myCal ).toZonedDateTime() ;
然后使用DateTimeFormatter
生成所需格式的文本。
答案 2 :(得分:0)
您可以使用SimpleDateFormat
import java.text.DateFormat;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.text.ParseException;
public class HelloWorld
{
public static void main(String[] args)
{
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
String dateString = "2020-02-15T00:00:00";
try {
Date parsed = format.parse(dateString);
System.out.print(parsed.toString());
}
catch(ParseException pe) {
System.out.println("ERROR: Cannot parse \"" + dateString + "\"");
}
}
}
答案 3 :(得分:0)
假设您有一个Calendar cal实例,那么您应该能够做到这一点:
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss Z");
String result = dateFormat.format(cal.getTime());
getTime为您提供SimpleDateFormat的日期。
这是处理Calendar对象的最简单方法。也是最容易出错的一种。我确实同意所有注释,指出您应该使用java.time,但我是谁来告诉您该怎么做。