## convert day year hour data series with missing data to a serial number

### Katerina F (view profile)

on 22 Aug 2014
Latest activity Commented on by Katerina F

on 27 Aug 2014

### Andrei Bobrov (view profile)

I have a year of data from "01/01/2003 00:00" to "2003/12/31 23:59" with some days/hous missing from the data series. I think to convert these dates/times to serial numbers I have to use the datenum. To convert each one of these numbers I understand that I have to do: datenum(2003,1,1,0,0,0) which gives ans =

`     731582.00`

This is fine for one number but how I can convert the whole series? thanks, Katerina

## Products

No products are associated with this question.

### Andrei Bobrov (view profile)

on 26 Aug 2014
Edited by Andrei Bobrov

### Andrei Bobrov (view profile)

on 26 Aug 2014

```f = fopen('dates1.txt');
c = textscan(f,'%s %s','collectoutput',1);
fclose(f);
```
```out = datenum(strcat(c{1}(:,1),{'_'},c{1}(:,2)),'dd/mm/yyyy_HH:MM');
```

or

```f = fopen('dates1.txt');
c = textscan(f,'%s','delimiter','\n');
fclose(f);
```
```out = datenum(c{1},'dd/mm/yyyy HH:MM')
```

Katerina F

### Katerina F (view profile)

on 27 Aug 2014

If now I have a file with a full year, as it is in the text file attached (one column months, one days, one hours), and I try to apply the above to convert to serial number, then the comment out = datenum(c{1},'dd/mm HH:MM') does not give a result (probably because the format is diffent)

What code I should apply in this case in order to convert the series to a serial number?

thanks, K

Andrei Bobrov

### Andrei Bobrov (view profile)

on 27 Aug 2014

Let your year: year1 = 2014

```dt = datenum([2014 1 1 0 0 0;2014 12 31 23 0 0]);
out = (dt(1):1/24:dt(2))';
```
Katerina F

### Katerina F (view profile)

on 27 Aug 2014

thanks Andrei

on 22 Aug 2014

```str{1} = '01/01/2003 00:00'
str{2} = '2003/12/31 23:59'
```
```datenum( str )
```
```ans =
```
`     1.0e+05 *`
```      7.3158
7.3195```

So you should just be able to put all your strings into a cell array and pass that in to datenum

on 23 Aug 2014

Is that all one string in a single variable?

Katerina F

### Katerina F (view profile)

on 25 Aug 2014

It is one column of data. Each line in the column is for example: 31/01/2003 16:00

on 26 Aug 2014

If it is a cell array you should just be able to pass it to datenum. If not then you will need to convert each row to a cell containing the string rather than a standard char matrix using e.g.

```dateCells = cellstr( dates )
```

#### Join the 15-year community celebration.

Play games and win prizes!

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi