diff m-toolbox/classes/@timespan/computeInterval.m @ 0:f0afece42f48

Import.
author Daniele Nicolodi <nicolodi@science.unitn.it>
date Wed, 23 Nov 2011 19:22:13 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/m-toolbox/classes/@timespan/computeInterval.m	Wed Nov 23 19:22:13 2011 +0100
@@ -0,0 +1,77 @@
+% COMPUTEINTERVAL compute the interval of the time span.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% DESCRIPTION: COMPUTE_INTERVAL compute the interval of the time span.
+%
+% CALL:        str = compute_interval(t1)
+%
+% VERSION:     $Id: computeInterval.m,v 1.3 2010/05/10 13:38:50 ingo Exp $
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+function interval = computeInterval(ts)
+
+  interval = '';
+
+  number = abs(ts.startT.utc_epoch_milli-ts.endT.utc_epoch_milli);
+
+  if (ts.endT.utc_epoch_milli-ts.startT.utc_epoch_milli < 0)
+    interval = '-';
+  end
+
+  form = java.text.SimpleDateFormat;
+  form.setTimeZone(java.util.TimeZone.getTimeZone('UTC'));
+
+  form.applyPattern('yyyy')
+  num_y = char(form.format(java.util.Date(number)));
+  num_y = str2double(num_y);
+  num_y = num_y - 1970;
+  num_y = sprintf('%02d', num_y);
+
+  form.applyLocalizedPattern('DD')
+  num_d = char(form.format(java.util.Date(number)));
+  num_d = sprintf('%02d', str2double(num_d)-1);
+
+  form.applyLocalizedPattern('HH')
+  num_h = char(form.format(java.util.Date(number)));
+
+  form.applyLocalizedPattern('mm')
+  num_m = char(form.format(java.util.Date(number)));
+
+  form.applyLocalizedPattern('ss')
+  num_s = char(form.format(java.util.Date(number)));
+
+  form.applyLocalizedPattern('SSS')
+  num_milli_s = char(form.format(java.util.Date(number)));
+
+  if ~strcmp(num_y, '00')
+    interval = [interval num_y ' Years '];
+  end
+
+  if ~strcmp(num_d, '00')
+    interval = [interval num_d ' Days '];
+  end
+
+  if ~strcmp(num_h, '00')
+    interval = [interval num_h ' Hours '];
+  end
+
+  if ~strcmp(num_m, '00')
+    interval = [interval num_m ' Minutes '];
+  end
+
+  if ~strcmp(num_s, '00')
+    interval = [interval num_s ' Seconds '];
+  end
+
+  if ~strcmp(num_milli_s, '000')
+    interval = [interval num_milli_s ' Milliseconds '];
+  end
+  
+  if isempty(interval)
+    interval = '0 Seconds';
+  end
+  
+end
+
+