Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中转换字符串和日期时间_Java_Jquery_Twitter Bootstrap - Fatal编程技术网

如何在java中转换字符串和日期时间

如何在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, }).

大家好,当我在jsp中选择日期时,我使用引导日期时间选择器来保存日期和时间。我在java类中以字符串的形式获取日期和时间,比如2017年1月23日下午2:50

$(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');
   });
}); 

这里有两个错误:

  • 年和破折号之间缺少一个空格——破折号和小时
  • 您告诉java解析秒数,但日期字符串中没有秒数
  • 您需要将SimpleDateFormat从

    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