00001
00009 package org.nees.daq;
00010
00011 import java.util.*;
00012
00014 public class ISOtoRbnbTime {
00015 private int year;
00016 private int month;
00017 private int day;
00018 private int hour;
00019 private int min;
00020 private int sec;
00021 private int frac;
00022 private double convertedTStamp;
00023 boolean is_valid;
00024
00025
00026
00027
00028
00029 ISOtoRbnbTime(String ISOString)
00030 {
00031 is_valid = false;
00032 convert(ISOString);
00033 }
00034
00040 private void convert(String ISOString) {
00041
00042 StringTokenizer st = new StringTokenizer(ISOString, "-T:\t\n. ");
00043 try
00044 {
00045 year = Integer.parseInt(st.nextToken());
00046 month = Integer.parseInt(st.nextToken());
00047 day = Integer.parseInt(st.nextToken());
00048 hour = Integer.parseInt(st.nextToken());
00049 min = Integer.parseInt(st.nextToken());
00050 sec = Integer.parseInt(st.nextToken());
00051 frac = Integer.parseInt(st.nextToken());
00052 is_valid = true;
00053
00054 if (year > 1900) year -= 1900;
00055 month -= 1;
00056
00057 convertedTStamp = (double)(Date.UTC(year,month,day,hour,min,sec)/1000.0);
00058 convertedTStamp += (double)(frac/100000.0);
00059
00060
00061
00062
00063
00064
00065 } catch (Exception ignore) {}
00066 }
00067
00068
00069
00070
00071
00072 public double getValue() {
00073 return(convertedTStamp);
00074 }
00075 }
00076