我正在尝试将//username is the name attribute of a textfield in your form
res.session.user = req.body.username;
转换为string "8/2/2018 04:25 AM"
,但似乎是将其转换为错误,因为当我执行此操作时输出完全错误的date object
和date
time
。注意 - 我不关心date.toString()
格式,我只需要它是相同的日期和时间
这是我的代码,
date.toString()
这是输出:
String timestampString = dateText.getText().toString() + " " + timeText.getText().toString();
try {
Date timestamp2 = new SimpleDateFormat("dd/MM/yyyy hh:mm a").parse(timestampString);
Log.d("TIME", timestamp2.toString());
} catch (ParseException e) {Log.d("TAG", e)}
如果有人能引导我朝着正确的方向前进,我们非常感激。
答案 0 :(得分:1)
ArrayList
打印:
D / TIME:2018-02-08T04:25
我正在使用并推荐 DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("d/M/uuuu");
DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("hh:mm a", Locale.ENGLISH);
LocalDate date = LocalDate.parse(dateText.getText(), dateFormatter);
LocalTime time = LocalTime.parse(timeText.getText(), timeFormatter);
LocalDateTime dateTime = date.atTime(time);
Log.d("TIME", dateTime.toString());
,即现代Java日期和时间API。您使用的java.time
类已经过时了,Date
也是如此,而且也是出了名的麻烦。如果可以,请避免使用。 SimpleDateFormat
可以更好地使用。并提供没有时区的java.time
类,以保证防范时区问题。也就是说,您可能希望将您的日期时间转换为您选择的时区中的LocalXx
,以使其成为一个明确的时间点。
是的,ZonedDateTime
适用于较旧和较新的Android设备。它只需要至少Java 6 。
java.time
导入日期和时间类。org.threeten.bp
。java.time
。java.time
向Java 6和7的后端(JST-310的ThreeTen)。