1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
| package com.iailab.netsdk.lib.structure;
|
| import com.iailab.netsdk.lib.NetSDKLib;
|
| /**
| * 日志信息里的时间定义
| * @author 47081
| */
| public class SDK_DEV_TIME extends NetSDKLib.SdkStructure {
| /**
| * 秒 1-60
| *//*
| public int second;
| *//**
| * 分 1-60
| *//*
| public int minute;
| *//**
| * 时 1-24
| *//*
| public int hour;
| *//**
| * 日 1-31
| *//*
| public int day;
| *//**
| * 月 1-12
| *//*
| public int month;
| *//**
| * 年 2000-2063
| *//*
| public int year;*/
| public int date;
|
|
| /**
| *second:6; // 秒 1-60
| *minute:6; // 分 1-60
| *hour:5; // 时 1-24
| *day:5; // 日 1-31
| *month:4; // 月 1-12
| *year:6; // 年 2000-2063
| *
| */
| public int getSecond(){
| return getAnd(date,0,6);
| }
| public int getMinute(){
| return getAnd(date,6,6+6);
| }
| public int getHour(){return getAnd(date,6+6,6+6+5);}
| public int getDay(){return getAnd(date,6+6+5,6+6+5+5);}
| public int getMonth(){return getAnd(date,6+6+5+5,6+6+5+5+4);}
| public int getYear(){return 2000+getAnd(date,6+6+5+5+4,6+6+5+5+4+6);}
|
| /**
| * c层处理后的原始年份信息
| * @return
| */
| public int getOriginalYear(){return getAnd(date,6+6+5+5+4,6+6+5+5+4+6);};
| public String getDate(){
| return getYear()+"-"+getMonth()+"-"+getDay()+" "+getHour()+":"+getMinute()+":"+getSecond();
| }
|
| /**
| * 按位与
| * @param date 原始数据
| * @param start 需要偏移的位数
| * @param end 与的位数
| * @return
| */
| private int getAnd(int date,int start,int end){
| return date>>start&getOr(start,end);
| }
|
| /**
| * 按位与的位数
| * @param start 开始与的位数
| * @param end 结束与的位数
| * @return
| */
| private int getOr(int start,int end){
| int result=0;
| for (int i = 0; i < end-start; i++) {
| result|=(1<<i);
| }
| return result;
| }
| }
|
|