|
|
@ -1,14 +1,95 @@ |
|
|
|
package com.genersoft.iot.vmp.gb28181.bean; |
|
|
|
|
|
|
|
import gov.nist.core.InternalErrorHandler; |
|
|
|
import gov.nist.javax.sip.header.SIPDate; |
|
|
|
|
|
|
|
import java.util.*; |
|
|
|
|
|
|
|
/** |
|
|
|
* 重写jain sip的SIPDate解决与国标时间格式不一致的问题 |
|
|
|
*/ |
|
|
|
public class WvpSipDate extends SIPDate { |
|
|
|
|
|
|
|
private Calendar javaCal; |
|
|
|
|
|
|
|
public WvpSipDate(long timeMillis) { |
|
|
|
super(timeMillis); |
|
|
|
this.javaCal = new GregorianCalendar(TimeZone.getDefault(), Locale.getDefault()); |
|
|
|
Date date = new Date(timeMillis); |
|
|
|
this.javaCal.setTime(date); |
|
|
|
this.wkday = this.javaCal.get(7); |
|
|
|
switch(this.wkday) { |
|
|
|
case 1: |
|
|
|
this.sipWkDay = "Sun"; |
|
|
|
break; |
|
|
|
case 2: |
|
|
|
this.sipWkDay = "Mon"; |
|
|
|
break; |
|
|
|
case 3: |
|
|
|
this.sipWkDay = "Tue"; |
|
|
|
break; |
|
|
|
case 4: |
|
|
|
this.sipWkDay = "Wed"; |
|
|
|
break; |
|
|
|
case 5: |
|
|
|
this.sipWkDay = "Thu"; |
|
|
|
break; |
|
|
|
case 6: |
|
|
|
this.sipWkDay = "Fri"; |
|
|
|
break; |
|
|
|
case 7: |
|
|
|
this.sipWkDay = "Sat"; |
|
|
|
break; |
|
|
|
default: |
|
|
|
InternalErrorHandler.handleException("No date map for wkday " + this.wkday); |
|
|
|
} |
|
|
|
|
|
|
|
this.day = this.javaCal.get(5); |
|
|
|
this.month = this.javaCal.get(2); |
|
|
|
switch(this.month) { |
|
|
|
case 0: |
|
|
|
this.sipMonth = "Jan"; |
|
|
|
break; |
|
|
|
case 1: |
|
|
|
this.sipMonth = "Feb"; |
|
|
|
break; |
|
|
|
case 2: |
|
|
|
this.sipMonth = "Mar"; |
|
|
|
break; |
|
|
|
case 3: |
|
|
|
this.sipMonth = "Apr"; |
|
|
|
break; |
|
|
|
case 4: |
|
|
|
this.sipMonth = "May"; |
|
|
|
break; |
|
|
|
case 5: |
|
|
|
this.sipMonth = "Jun"; |
|
|
|
break; |
|
|
|
case 6: |
|
|
|
this.sipMonth = "Jul"; |
|
|
|
break; |
|
|
|
case 7: |
|
|
|
this.sipMonth = "Aug"; |
|
|
|
break; |
|
|
|
case 8: |
|
|
|
this.sipMonth = "Sep"; |
|
|
|
break; |
|
|
|
case 9: |
|
|
|
this.sipMonth = "Oct"; |
|
|
|
break; |
|
|
|
case 10: |
|
|
|
this.sipMonth = "Nov"; |
|
|
|
break; |
|
|
|
case 11: |
|
|
|
this.sipMonth = "Dec"; |
|
|
|
break; |
|
|
|
default: |
|
|
|
InternalErrorHandler.handleException("No date map for month " + this.month); |
|
|
|
} |
|
|
|
|
|
|
|
this.year = this.javaCal.get(1); |
|
|
|
this.hour = this.javaCal.get(11); |
|
|
|
this.minute = this.javaCal.get(12); |
|
|
|
this.second = this.javaCal.get(13); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|