小编Aas*_*osh的帖子

java中的字符串到日期时间

我有一个日期时间字符串"2013-06-04 23:59:59"我想从这个字符串中分别得到日期和时间.

new Date ("2013-06-04 23:59:59") 
Run Code Online (Sandbox Code Playgroud)

java的构造函数已被弃用,因此我使用了Calender类.我试过了代码

Calendar mydate = new GregorianCalendar();
        String mystring = "2013-06-04 23:59:59";
        Date thedate = new SimpleDateFormat("yyyy-mm-dd HH:MM:SS", Locale.ENGLISH).parse(mystring);
        mydate.setTime(thedate);
        //breakdown
        System.out.println("mydate -> "+mydate);
        System.out.println("year   -> "+mydate.get(Calendar.YEAR));
        System.out.println("month  -> "+mydate.get(Calendar.MONTH));
        System.out.println("dom    -> "+mydate.get(Calendar.DAY_OF_MONTH));
        System.out.println("dow    -> "+mydate.get(Calendar.DAY_OF_WEEK));
        System.out.println("hour   -> "+mydate.get(Calendar.HOUR));
        System.out.println("minute -> "+mydate.get(Calendar.MINUTE));
        System.out.println("second -> "+mydate.get(Calendar.SECOND));
        System.out.println("milli  -> "+mydate.get(Calendar.MILLISECOND));
        System.out.println("ampm   -> "+mydate.get(Calendar.AM_PM));
        System.out.println("hod    -> "+mydate.get(Calendar.HOUR_OF_DAY));
Run Code Online (Sandbox Code Playgroud)

但结果是错误的.

mydate -> java.util.GregorianCalendar[time=1509816960059,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Calcutta",offset=19800000,dstSavings=0,useDaylight=false,transitions=6,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2017,MONTH=10,WEEK_OF_YEAR=44,WEEK_OF_MONTH=1,DAY_OF_MONTH=4,DAY_OF_YEAR=308,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=11,HOUR_OF_DAY=23,MINUTE=6,SECOND=0,MILLISECOND=59,ZONE_OFFSET=19800000,DST_OFFSET=0]
year   -> 2017
month  -> 10
dom    -> 4
dow    -> 7
hour   -> 11
minute -> …
Run Code Online (Sandbox Code Playgroud)

java datetime date

1
推荐指数
1
解决办法
2003
查看次数

标签 统计

date ×1

datetime ×1

java ×1