anchor.diff:          {Date,Time,Micro} = case re:run(lists:sublist(Val,5),"[\/\.\-]+",[{capture,all,list}]) of
               {match,["/"]} ->
                   case string:tokens(Val, " ") of
  -                    [D,T] ->  case re:split(T,"[$.]",[{return,list}]) of
  +                    [D,T] ->  case re:split(T,"[.]",[{return,list}]) of
                                           [Hms,M] ->
                                               {parse_date_us(D),parse_time(Hms),parse_micro(M)};
                                           [Hms] ->
  
positive.code:                 end;
              {match,["-"]} ->
                  case string:tokens(Val, " ") of
                      [D,T] ->    case re:split(T,"[$.]",[{return,list}]) of
                                      [Hms,M] ->  {parse_date_int(D),parse_time(Hms),parse_micro(M)};
                                      [Hms] ->    {parse_date_int(D),parse_time(Hms),0.0}
                                  end;
  
negative.code:         % ?assertEqual({1,3,0}, io_to_timestamp(<<"12.01.1970 14:46:42.654321">>,0)),  %% with DLS offset wintertime CH
          % ?assertEqual({1,2,123000}, io_to_timestamp(<<"12.01.1970 14:46:42.123456">>,3)),  %% with DLS offset wintertime CH
          % ?assertEqual({1,2,100000}, io_to_timestamp(<<"12.01.1970 14:46:42.123456">>,1)),  %% with DLS offset wintertime CH
          % ?assertEqual({587,863439,585000}, io_to_timestamp(<<"1988-8-18T01:23:59.585Z">>)),
          ?assertEqual({1,2,12345}, io_to_timestamp(<<"{1,2,12345}">>,0)),
          ?LogDebug("io_to_timestamp success~n", []),
  
  