separate date from time

hi,
i have timestamp in my data
such as:
874965478
which contains date and time
what I need is separate date from time
I try this
d=datestr(874965478/86400 + datenum('1/1/1970'))
and get
d =
22-Sep-1997 21:57:58
this result do not what i need, i want the timestamp remain integer but without time just date
can do that?

 Réponse acceptée

per isakson
per isakson le 26 Juil 2012
Modifié(e) : per isakson le 26 Juil 2012

1 vote

The function, floor, does it:
>> floor( 874965478/86400 + datenum('1/1/1970') )
ans =
729655
and check the result
>> datestr( ans, 31 )
ans =
1997-09-22 00:00:00
>>
This, 729655, is serial date number.

Plus de réponses (1)

Star Strider
Star Strider le 26 Juil 2012

1 vote

Alternatively, change:
d=datestr(874965478/86400 + datenum('1/1/1970'))
to:
d=datevec(874965478/86400 + datenum('1/1/1970'))
then:
d_date = d(1:3)
This gives you the date as a [YYYY MM DD] vector. You can format it as you like as a string with ‘sprintf’ or other functions.

4 commentaires

per isakson
per isakson le 26 Juil 2012
Modifié(e) : per isakson le 26 Juil 2012
E.g.
sdn = datenum( d(1:3) );
and check the result
datestr( sdn, 31 )
ans =
1997-09-22 00:00:00
huda nawaf
huda nawaf le 26 Juil 2012
many thanks
huda nawaf
huda nawaf le 29 Juil 2012
hi again,
why when I used this timestamp: 9783021091
and use d=datestr(9783021091/86400 + datenum('1/1/1970')); get 05-Jan-2280 09:51:31
while when use d=datestr(874965478/86400 + datenum('1/1/1970'))
get d =
22-Sep-1997 21:57:58
thanks
per isakson
per isakson le 29 Juil 2012
Modifié(e) : per isakson le 29 Juil 2012
You write: "Why", but doesn't say why you question the result.
Your timestamps are seconds after 1/1/1970(?)
In the second case the integer, 874965478, corresponds to approx. 27 years. In the first case the integer, 9783021091, is eleven times larger, i.e. 300 years. The results is plausible.

Connectez-vous pour commenter.

Catégories

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by