如何在java中转换字符串和日期时间
大家好,当我在jsp中选择日期时,我使用引导日期时间选择器来保存日期和时间。我在java类中以字符串的形式获取日期和时间,比如2017年1月23日下午2:50如何在java中转换字符串和日期时间,java,jquery,twitter-bootstrap,Java,Jquery,Twitter Bootstrap,大家好,当我在jsp中选择日期时,我使用引导日期时间选择器来保存日期和时间。我在java类中以字符串的形式获取日期和时间,比如2017年1月23日下午2:50 $(function () { $('#datetimepicker8').datetimepicker({ startDate: new Date(), format : 'dd MM yyyy - HH:ii p', autoclose: 1, }).
$(function () {
$('#datetimepicker8').datetimepicker({
startDate: new Date(),
format : 'dd MM yyyy - HH:ii p',
autoclose: 1,
}).on( 'changeDate', function(e) {
// Revalidate the date field
$('#timeTableUpdateForm').bootstrapValidator(
'revalidateField', 'examDate');
});
});
这里有两个错误:
SimpleDateFormat formatter = new SimpleDateFormat("dd MMMM yyyy-HH:mm:ss a");
到
通过以这种方式更改代码,我得到以下输出:
Mon Jan 23 02:50:00 GMT 2017
23 January 2017 - 02:50 AM
以下是一个工作代码:
public static void main( String[] args ) {
final SimpleDateFormat formatter =
new SimpleDateFormat( "dd MMMMM yyyy - HH:mm a", Locale.US );
final String dateInString = "23 January 2017 - 02:50 pm";
try {
final Date date = formatter.parse(dateInString);
System.out.println(date);
System.out.println(formatter.format(date));
}
catch( final ParseException e ) {
e.printStackTrace();
}
}
使用此输出:
Mon Jan 23 02:50:00 CET 2017
23 January 2017 - 02:50 AM
除了下面的答案,它似乎取决于语言是否被解析。Being German仅在使用
Januar
而不是Januar
语言环境时才有效。在非美国osMon 2017年1月23日00:00:00 IST中执行此日期时,应将US
添加到SimpleDateFormat
ctor中。getYear不起作用请给出dateInString
值进行分析。
public static void main( String[] args ) {
final SimpleDateFormat formatter =
new SimpleDateFormat( "dd MMMMM yyyy - HH:mm a", Locale.US );
final String dateInString = "23 January 2017 - 02:50 pm";
try {
final Date date = formatter.parse(dateInString);
System.out.println(date);
System.out.println(formatter.format(date));
}
catch( final ParseException e ) {
e.printStackTrace();
}
}
Mon Jan 23 02:50:00 CET 2017
23 January 2017 - 02:50 AM