Home All Groups Group Topic Archive Search About

Error converting FILETIME to DateTime

Author
10 Jun 2006 10:28 PM
msavazzi
Hi,
it should be simple,
put FILETIME in a Long
conver it in date using the DateTime.FromFileTimeUtc

The help even says: Converts the specified Windows file time to an
equivalent UTC time.


Now why happens this:
original filetime 21/02/2006 00:33:29

bytes:
80    C2    E6    AB   
6D    36    C6    01

when I convert it I have:
1) 20/02/2006 22:26:19
2) 20/02/2006 22:26:19

Code:
        Dim ad3 As System.DateTime
        Dim aLn1 As Long
        Dim ad1 As System.Runtime.InteropServices.ComTypes.FILETIME

       ad1.dwHighDateTime = &H1C6366D
       ad1.dwLowDateTime = &HABE6C280

        aLn1 = (CLng(ad1.dwHighDateTime) << 32) + CLng(ad1.dwLowDateTime)

        ad3 = DateTime.FromFileTimeUtc(aLn1)
        Debug.Print("1) " & ad3)
        ad3.ToLocalTime()
        Debug.Print("2) " & ad3)

and even worst if I do:
        ad3 = CDate("21/02/2006 00:33:29")

the Thicks property is equal to:
        ad3.Ticks    &H8C8049591E69280    Long


please can anyone help me?

Thanks,
M.

Author
11 Jun 2006 5:39 AM
Cor Ligthert [MVP]
msAvazzi,

What is it what you want to achieve, there are so many methods in datetime
that I am not seeing what your goal is. I gues that is the same for others.

By instance
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdatetimeclassaddtopic.asp

Cor

Show quoteHide quote
"msavazzi" <m.sava***@discussion.microsoft.com> schreef in bericht
news:503FFC9E-0FF9-470B-BFA7-88A437EA8899@microsoft.com...
> Hi,
> it should be simple,
> put FILETIME in a Long
> conver it in date using the DateTime.FromFileTimeUtc
>
> The help even says: Converts the specified Windows file time to an
> equivalent UTC time.
>
>
> Now why happens this:
> original filetime 21/02/2006 00:33:29
>
> bytes:
> 80 C2 E6 AB
> 6D 36 C6 01
>
> when I convert it I have:
> 1) 20/02/2006 22:26:19
> 2) 20/02/2006 22:26:19
>
> Code:
>        Dim ad3 As System.DateTime
>        Dim aLn1 As Long
>        Dim ad1 As System.Runtime.InteropServices.ComTypes.FILETIME
>
>       ad1.dwHighDateTime = &H1C6366D
>       ad1.dwLowDateTime = &HABE6C280
>
>        aLn1 = (CLng(ad1.dwHighDateTime) << 32) + CLng(ad1.dwLowDateTime)
>
>        ad3 = DateTime.FromFileTimeUtc(aLn1)
>        Debug.Print("1) " & ad3)
>        ad3.ToLocalTime()
>        Debug.Print("2) " & ad3)
>
> and even worst if I do:
>        ad3 = CDate("21/02/2006 00:33:29")
>
> the Thicks property is equal to:
> ad3.Ticks &H8C8049591E69280 Long
>
>
> please can anyone help me?
>
> Thanks,
> M.
Author
11 Jun 2006 5:34 PM
msavazzi
Cor,
I have a FILETIME (that I read from a File) and I want to store it in a
DateTime variable.

And I do agree with you, it has a lot of methods.

Unluckily it looks like THEY DON'T WORK (or is not clear how to have them
work).
If you try the code I've posted you'll see.

here is tha MSDN reference:
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemDateTimeClassFromFileTimeUtcTopic.asp?frame=true



M

Show quoteHide quote
"Cor Ligthert [MVP]" wrote:

> msAvazzi,
>
> What is it what you want to achieve, there are so many methods in datetime
> that I am not seeing what your goal is. I gues that is the same for others.
>
> By instance
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdatetimeclassaddtopic.asp
>
> Cor
>
> "msavazzi" <m.sava***@discussion.microsoft.com> schreef in bericht
> news:503FFC9E-0FF9-470B-BFA7-88A437EA8899@microsoft.com...
> > Hi,
> > it should be simple,
> > put FILETIME in a Long
> > conver it in date using the DateTime.FromFileTimeUtc
> >
> > The help even says: Converts the specified Windows file time to an
> > equivalent UTC time.
> >
> >
> > Now why happens this:
> > original filetime 21/02/2006 00:33:29
> >
> > bytes:
> > 80 C2 E6 AB
> > 6D 36 C6 01
> >
> > when I convert it I have:
> > 1) 20/02/2006 22:26:19
> > 2) 20/02/2006 22:26:19
> >
> > Code:
> >        Dim ad3 As System.DateTime
> >        Dim aLn1 As Long
> >        Dim ad1 As System.Runtime.InteropServices.ComTypes.FILETIME
> >
> >       ad1.dwHighDateTime = &H1C6366D
> >       ad1.dwLowDateTime = &HABE6C280
> >
> >        aLn1 = (CLng(ad1.dwHighDateTime) << 32) + CLng(ad1.dwLowDateTime)
> >
> >        ad3 = DateTime.FromFileTimeUtc(aLn1)
> >        Debug.Print("1) " & ad3)
> >        ad3.ToLocalTime()
> >        Debug.Print("2) " & ad3)
> >
> > and even worst if I do:
> >        ad3 = CDate("21/02/2006 00:33:29")
> >
> > the Thicks property is equal to:
> > ad3.Ticks &H8C8049591E69280 Long
> >
> >
> > please can anyone help me?
> >
> > Thanks,
> > M.
>
>
>
Author
11 Jun 2006 8:55 PM
Cor Ligthert [MVP]
And you tried this as well?

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDateTimeClassFromFileTimeUtcTopic.asp

Cor

Show quoteHide quote
"msavazzi" <m.sava***@discussion.microsoft.com> schreef in bericht
news:BA22D001-B505-4EB9-A3A0-3BE38B4F5C8D@microsoft.com...
> Cor,
> I have a FILETIME (that I read from a File) and I want to store it in a
> DateTime variable.
>
> And I do agree with you, it has a lot of methods.
>
> Unluckily it looks like THEY DON'T WORK (or is not clear how to have them
> work).
> If you try the code I've posted you'll see.
>
> here is tha MSDN reference:
> http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemDateTimeClassFromFileTimeUtcTopic.asp?frame=true
>
>
>
> M
>
> "Cor Ligthert [MVP]" wrote:
>
>> msAvazzi,
>>
>> What is it what you want to achieve, there are so many methods in
>> datetime
>> that I am not seeing what your goal is. I gues that is the same for
>> others.
>>
>> By instance
>> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdatetimeclassaddtopic.asp
>>
>> Cor
>>
>> "msavazzi" <m.sava***@discussion.microsoft.com> schreef in bericht
>> news:503FFC9E-0FF9-470B-BFA7-88A437EA8899@microsoft.com...
>> > Hi,
>> > it should be simple,
>> > put FILETIME in a Long
>> > conver it in date using the DateTime.FromFileTimeUtc
>> >
>> > The help even says: Converts the specified Windows file time to an
>> > equivalent UTC time.
>> >
>> >
>> > Now why happens this:
>> > original filetime 21/02/2006 00:33:29
>> >
>> > bytes:
>> > 80 C2 E6 AB
>> > 6D 36 C6 01
>> >
>> > when I convert it I have:
>> > 1) 20/02/2006 22:26:19
>> > 2) 20/02/2006 22:26:19
>> >
>> > Code:
>> >        Dim ad3 As System.DateTime
>> >        Dim aLn1 As Long
>> >        Dim ad1 As System.Runtime.InteropServices.ComTypes.FILETIME
>> >
>> >       ad1.dwHighDateTime = &H1C6366D
>> >       ad1.dwLowDateTime = &HABE6C280
>> >
>> >        aLn1 = (CLng(ad1.dwHighDateTime) << 32) +
>> > CLng(ad1.dwLowDateTime)
>> >
>> >        ad3 = DateTime.FromFileTimeUtc(aLn1)
>> >        Debug.Print("1) " & ad3)
>> >        ad3.ToLocalTime()
>> >        Debug.Print("2) " & ad3)
>> >
>> > and even worst if I do:
>> >        ad3 = CDate("21/02/2006 00:33:29")
>> >
>> > the Thicks property is equal to:
>> > ad3.Ticks &H8C8049591E69280 Long
>> >
>> >
>> > please can anyone help me?
>> >
>> > Thanks,
>> > M.
>>
>>
>>
Author
11 Jun 2006 9:00 PM
msavazzi
Cor,
If I understood correctly it should be the function I'm using:
ad3 = DateTime.FromFileTimeUtc(aLn1)


Or I'm doing something wrong?

M

Show quoteHide quote
"Cor Ligthert [MVP]" wrote:

> And you tried this as well?
>
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDateTimeClassFromFileTimeUtcTopic.asp
>
> Cor
>
> "msavazzi" <m.sava***@discussion.microsoft.com> schreef in bericht
> news:BA22D001-B505-4EB9-A3A0-3BE38B4F5C8D@microsoft.com...
> > Cor,
> > I have a FILETIME (that I read from a File) and I want to store it in a
> > DateTime variable.
> >
> > And I do agree with you, it has a lot of methods.
> >
> > Unluckily it looks like THEY DON'T WORK (or is not clear how to have them
> > work).
> > If you try the code I've posted you'll see.
> >
> > here is tha MSDN reference:
> > http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemDateTimeClassFromFileTimeUtcTopic.asp?frame=true
> >
> >
> >
> > M
> >
> > "Cor Ligthert [MVP]" wrote:
> >
> >> msAvazzi,
> >>
> >> What is it what you want to achieve, there are so many methods in
> >> datetime
> >> that I am not seeing what your goal is. I gues that is the same for
> >> others.
> >>
> >> By instance
> >> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdatetimeclassaddtopic.asp
> >>
> >> Cor
> >>
> >> "msavazzi" <m.sava***@discussion.microsoft.com> schreef in bericht
> >> news:503FFC9E-0FF9-470B-BFA7-88A437EA8899@microsoft.com...
> >> > Hi,
> >> > it should be simple,
> >> > put FILETIME in a Long
> >> > conver it in date using the DateTime.FromFileTimeUtc
> >> >
> >> > The help even says: Converts the specified Windows file time to an
> >> > equivalent UTC time.
> >> >
> >> >
> >> > Now why happens this:
> >> > original filetime 21/02/2006 00:33:29
> >> >
> >> > bytes:
> >> > 80 C2 E6 AB
> >> > 6D 36 C6 01
> >> >
> >> > when I convert it I have:
> >> > 1) 20/02/2006 22:26:19
> >> > 2) 20/02/2006 22:26:19
> >> >
> >> > Code:
> >> >        Dim ad3 As System.DateTime
> >> >        Dim aLn1 As Long
> >> >        Dim ad1 As System.Runtime.InteropServices.ComTypes.FILETIME
> >> >
> >> >       ad1.dwHighDateTime = &H1C6366D
> >> >       ad1.dwLowDateTime = &HABE6C280
> >> >
> >> >        aLn1 = (CLng(ad1.dwHighDateTime) << 32) +
> >> > CLng(ad1.dwLowDateTime)
> >> >
> >> >        ad3 = DateTime.FromFileTimeUtc(aLn1)
> >> >        Debug.Print("1) " & ad3)
> >> >        ad3.ToLocalTime()
> >> >        Debug.Print("2) " & ad3)
> >> >
> >> > and even worst if I do:
> >> >        ad3 = CDate("21/02/2006 00:33:29")
> >> >
> >> > the Thicks property is equal to:
> >> > ad3.Ticks &H8C8049591E69280 Long
> >> >
> >> >
> >> > please can anyone help me?
> >> >
> >> > Thanks,
> >> > M.
> >>
> >>
> >>
>
>
>
Author
12 Jun 2006 5:17 AM
Cor Ligthert [MVP]
MsAvazzi,

I would ignore that function because it is one of the few functions not used
anymore in the version 2.0

Cor


Show quoteHide quote
"msavazzi" <m.sava***@discussion.microsoft.com> schreef in bericht
news:D2FC74A7-3AFD-4DAC-A8E2-8CCAB440DE8A@microsoft.com...
> Cor,
> If I understood correctly it should be the function I'm using:
> ad3 = DateTime.FromFileTimeUtc(aLn1)
>
>
> Or I'm doing something wrong?
>
> M
>
> "Cor Ligthert [MVP]" wrote:
>
>> And you tried this as well?
>>
>> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDateTimeClassFromFileTimeUtcTopic.asp
>>
>> Cor
>>
>> "msavazzi" <m.sava***@discussion.microsoft.com> schreef in bericht
>> news:BA22D001-B505-4EB9-A3A0-3BE38B4F5C8D@microsoft.com...
>> > Cor,
>> > I have a FILETIME (that I read from a File) and I want to store it in a
>> > DateTime variable.
>> >
>> > And I do agree with you, it has a lot of methods.
>> >
>> > Unluckily it looks like THEY DON'T WORK (or is not clear how to have
>> > them
>> > work).
>> > If you try the code I've posted you'll see.
>> >
>> > here is tha MSDN reference:
>> > http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemDateTimeClassFromFileTimeUtcTopic.asp?frame=true
>> >
>> >
>> >
>> > M
>> >
>> > "Cor Ligthert [MVP]" wrote:
>> >
>> >> msAvazzi,
>> >>
>> >> What is it what you want to achieve, there are so many methods in
>> >> datetime
>> >> that I am not seeing what your goal is. I gues that is the same for
>> >> others.
>> >>
>> >> By instance
>> >> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdatetimeclassaddtopic.asp
>> >>
>> >> Cor
>> >>
>> >> "msavazzi" <m.sava***@discussion.microsoft.com> schreef in bericht
>> >> news:503FFC9E-0FF9-470B-BFA7-88A437EA8899@microsoft.com...
>> >> > Hi,
>> >> > it should be simple,
>> >> > put FILETIME in a Long
>> >> > conver it in date using the DateTime.FromFileTimeUtc
>> >> >
>> >> > The help even says: Converts the specified Windows file time to an
>> >> > equivalent UTC time.
>> >> >
>> >> >
>> >> > Now why happens this:
>> >> > original filetime 21/02/2006 00:33:29
>> >> >
>> >> > bytes:
>> >> > 80 C2 E6 AB
>> >> > 6D 36 C6 01
>> >> >
>> >> > when I convert it I have:
>> >> > 1) 20/02/2006 22:26:19
>> >> > 2) 20/02/2006 22:26:19
>> >> >
>> >> > Code:
>> >> >        Dim ad3 As System.DateTime
>> >> >        Dim aLn1 As Long
>> >> >        Dim ad1 As System.Runtime.InteropServices.ComTypes.FILETIME
>> >> >
>> >> >       ad1.dwHighDateTime = &H1C6366D
>> >> >       ad1.dwLowDateTime = &HABE6C280
>> >> >
>> >> >        aLn1 = (CLng(ad1.dwHighDateTime) << 32) +
>> >> > CLng(ad1.dwLowDateTime)
>> >> >
>> >> >        ad3 = DateTime.FromFileTimeUtc(aLn1)
>> >> >        Debug.Print("1) " & ad3)
>> >> >        ad3.ToLocalTime()
>> >> >        Debug.Print("2) " & ad3)
>> >> >
>> >> > and even worst if I do:
>> >> >        ad3 = CDate("21/02/2006 00:33:29")
>> >> >
>> >> > the Thicks property is equal to:
>> >> > ad3.Ticks &H8C8049591E69280 Long
>> >> >
>> >> >
>> >> > please can anyone help me?
>> >> >
>> >> > Thanks,
>> >> > M.
>> >>
>> >>
>> >>
>>
>>
>>
Author
12 Jun 2006 9:41 AM
Herfried K. Wagner [MVP]
"Cor Ligthert [MVP]" <notmyfirstn***@planet.nl> schrieb:
>> If I understood correctly it should be the function I'm using:
>> ad3 = DateTime.FromFileTimeUtc(aLn1)
>
> I would ignore that function because it is one of the few functions not
> used anymore in the version 2.0

Why not?  I don't see that the method is marked as obsolete:

<URL:http://msdn2.microsoft.com/de-de/library/system.datetime.fromfiletimeutc.aspx>

--
M S   Herfried K. Wagner
M V P  <URL:http://dotnet.mvps.org/>
V B   <URL:http://classicvb.org/petition/>
Author
12 Jun 2006 10:15 AM
Cor Ligthert [MVP]
Herfried,

For this reason I look forever only on the English language website.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDateTimeClassFromFileTimeUtcTopic.asp

This link was already given by msAvazzi, otherwise I would not have know
this.

Folglich kannst du zur deutschen Seite  wieder ein wenig notieren.

Warum du, richtig.
:-)


Cor


Show quoteHide quote
"Herfried K. Wagner [MVP]" <hirf-spam-me-here@gmx.at> schreef in bericht
news:ud0%23wRgjGHA.4504@TK2MSFTNGP05.phx.gbl...
> "Cor Ligthert [MVP]" <notmyfirstn***@planet.nl> schrieb:
>>> If I understood correctly it should be the function I'm using:
>>> ad3 = DateTime.FromFileTimeUtc(aLn1)
>>
>> I would ignore that function because it is one of the few functions not
>> used anymore in the version 2.0
>
> Why not?  I don't see that the method is marked as obsolete:
>
> <URL:http://msdn2.microsoft.com/de-de/library/system.datetime.fromfiletimeutc.aspx>
>
> --
> M S   Herfried K. Wagner
> M V P  <URL:http://dotnet.mvps.org/>
> V B   <URL:http://classicvb.org/petition/>
Author
12 Jun 2006 10:23 AM
Herfried K. Wagner [MVP]
"Cor Ligthert [MVP]" <notmyfirstn***@planet.nl> schrieb:
> For this reason I look forever only on the English language website.
>
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDateTimeClassFromFileTimeUtcTopic.asp

Well, that's the documentation of .NET 1.1 and the page simply states that
this member is not supported by .NET *1.0*!

--
M S   Herfried K. Wagner
M V P  <URL:http://dotnet.mvps.org/>
V B   <URL:http://classicvb.org/petition/>
Author
12 Jun 2006 12:19 PM
Cor Ligthert [MVP]
Herfried,

You are right,

It means that the English documentation is not up to date but the German one
is.
I was already disapointed about this breaking change.


:-)

Cor

Show quoteHide quote
"Herfried K. Wagner [MVP]" <hirf-spam-me-here@gmx.at> schreef in bericht
news:O2kA5ogjGHA.4512@TK2MSFTNGP02.phx.gbl...
> "Cor Ligthert [MVP]" <notmyfirstn***@planet.nl> schrieb:
>> For this reason I look forever only on the English language website.
>>
>> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDateTimeClassFromFileTimeUtcTopic.asp
>
> Well, that's the documentation of .NET 1.1 and the page simply states that
> this member is not supported by .NET *1.0*!
>
> --
> M S   Herfried K. Wagner
> M V P  <URL:http://dotnet.mvps.org/>
> V B   <URL:http://classicvb.org/petition/>
Author
12 Jun 2006 12:32 PM
Herfried K. Wagner [MVP]
Cor,

"Cor Ligthert [MVP]" <notmyfirstn***@planet.nl> schrieb:
> It means that the English documentation is not up to date but the German
> one is.
> I was already disapointed about this breaking change.

There is a .NET 2.0 version of the documentation available too:

<URL:http://msdn2.microsoft.com/en-us/library/system.datetime.fromfiletimeutc.aspx>

Note the "msdn2" instead of the "msdn"!

--
M S   Herfried K. Wagner
M V P  <URL:http://dotnet.mvps.org/>
V B   <URL:http://classicvb.org/petition/>
Author
12 Jun 2006 12:40 PM
Cor Ligthert [MVP]
Herfried,

You are again right, normally I would have found that as well as first, but
now was I using the by the OP supported link. This is of course not good as
documentation. We know that MSDN2 from expirience.

Cor

Show quoteHide quote
"Herfried K. Wagner [MVP]" <hirf-spam-me-here@gmx.at> schreef in bericht
news:uOJgRxhjGHA.3496@TK2MSFTNGP02.phx.gbl...
> Cor,
>
> "Cor Ligthert [MVP]" <notmyfirstn***@planet.nl> schrieb:
>> It means that the English documentation is not up to date but the German
>> one is.
>> I was already disapointed about this breaking change.
>
> There is a .NET 2.0 version of the documentation available too:
>
> <URL:http://msdn2.microsoft.com/en-us/library/system.datetime.fromfiletimeutc.aspx>
>
> Note the "msdn2" instead of the "msdn"!
>
> --
> M S   Herfried K. Wagner
> M V P  <URL:http://dotnet.mvps.org/>
> V B   <URL:http://classicvb.org/petition/>
Author
12 Jun 2006 1:26 PM
Cor Ligthert [MVP]
MSAvazzi,

With all those discussions you would not understand it anymore therefore.

This gives for me the creation date in UTC time which is at my place 2 hours
before the current time.

\\\
Dim fi As New IO.FileInfo("c:\test.txt")
Dim dt As New DateTime(fi.CreationTimeUtc.Ticks)
MessageBox.Show(dt.ToString)
///

I hope this helps,

Cor

Show quoteHide quote
"msavazzi" <m.sava***@discussion.microsoft.com> schreef in bericht
news:D2FC74A7-3AFD-4DAC-A8E2-8CCAB440DE8A@microsoft.com...
> Cor,
> If I understood correctly it should be the function I'm using:
> ad3 = DateTime.FromFileTimeUtc(aLn1)
>
>
> Or I'm doing something wrong?
>
> M
>
> "Cor Ligthert [MVP]" wrote:
>
>> And you tried this as well?
>>
>> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDateTimeClassFromFileTimeUtcTopic.asp
>>
>> Cor
>>
>> "msavazzi" <m.sava***@discussion.microsoft.com> schreef in bericht
>> news:BA22D001-B505-4EB9-A3A0-3BE38B4F5C8D@microsoft.com...
>> > Cor,
>> > I have a FILETIME (that I read from a File) and I want to store it in a
>> > DateTime variable.
>> >
>> > And I do agree with you, it has a lot of methods.
>> >
>> > Unluckily it looks like THEY DON'T WORK (or is not clear how to have
>> > them
>> > work).
>> > If you try the code I've posted you'll see.
>> >
>> > here is tha MSDN reference:
>> > http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemDateTimeClassFromFileTimeUtcTopic.asp?frame=true
>> >
>> >
>> >
>> > M
>> >
>> > "Cor Ligthert [MVP]" wrote:
>> >
>> >> msAvazzi,
>> >>
>> >> What is it what you want to achieve, there are so many methods in
>> >> datetime
>> >> that I am not seeing what your goal is. I gues that is the same for
>> >> others.
>> >>
>> >> By instance
>> >> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdatetimeclassaddtopic.asp
>> >>
>> >> Cor
>> >>
>> >> "msavazzi" <m.sava***@discussion.microsoft.com> schreef in bericht
>> >> news:503FFC9E-0FF9-470B-BFA7-88A437EA8899@microsoft.com...
>> >> > Hi,
>> >> > it should be simple,
>> >> > put FILETIME in a Long
>> >> > conver it in date using the DateTime.FromFileTimeUtc
>> >> >
>> >> > The help even says: Converts the specified Windows file time to an
>> >> > equivalent UTC time.
>> >> >
>> >> >
>> >> > Now why happens this:
>> >> > original filetime 21/02/2006 00:33:29
>> >> >
>> >> > bytes:
>> >> > 80 C2 E6 AB
>> >> > 6D 36 C6 01
>> >> >
>> >> > when I convert it I have:
>> >> > 1) 20/02/2006 22:26:19
>> >> > 2) 20/02/2006 22:26:19
>> >> >
>> >> > Code:
>> >> >        Dim ad3 As System.DateTime
>> >> >        Dim aLn1 As Long
>> >> >        Dim ad1 As System.Runtime.InteropServices.ComTypes.FILETIME
>> >> >
>> >> >       ad1.dwHighDateTime = &H1C6366D
>> >> >       ad1.dwLowDateTime = &HABE6C280
>> >> >
>> >> >        aLn1 = (CLng(ad1.dwHighDateTime) << 32) +
>> >> > CLng(ad1.dwLowDateTime)
>> >> >
>> >> >        ad3 = DateTime.FromFileTimeUtc(aLn1)
>> >> >        Debug.Print("1) " & ad3)
>> >> >        ad3.ToLocalTime()
>> >> >        Debug.Print("2) " & ad3)
>> >> >
>> >> > and even worst if I do:
>> >> >        ad3 = CDate("21/02/2006 00:33:29")
>> >> >
>> >> > the Thicks property is equal to:
>> >> > ad3.Ticks &H8C8049591E69280 Long
>> >> >
>> >> >
>> >> > please can anyone help me?
>> >> >
>> >> > Thanks,
>> >> > M.
>> >>
>> >>
>> >>
>>
>>
>>
Author
13 Jun 2006 8:33 PM
msavazzi
Cor,
you've been very kind.

Can you please try this code? because I'm getting mad....
        Dim dt As New DateTime(&H1C6366CABE6C280)
        MessageBox.Show(dt.ToString)
        ad3 = CDate("21/02/2006 00:33:29")
        MessageBox.Show(dt.Ticks)

I get a meaningless 20/02/0406 22:26:19
(ok this is equal to my code, exactly the same wrong date)


while if I use all other programs (i.e. AXE 3)
I got: 2006/02/21 00:33:29
that is the right information.

the funny thing is that the Ticks of the right date are:
ad3.Ticks    &H8C8049591E69280    Long

So it looks like that "old" ticks are different from new ones!


I realy don't understand


Show quoteHide quote
"Cor Ligthert [MVP]" wrote:

> MSAvazzi,
>
> With all those discussions you would not understand it anymore therefore.
>
> This gives for me the creation date in UTC time which is at my place 2 hours
> before the current time.
>
> \\\
>  Dim fi As New IO.FileInfo("c:\test.txt")
>  Dim dt As New DateTime(fi.CreationTimeUtc.Ticks)
>  MessageBox.Show(dt.ToString)
> ///
>
> I hope this helps,
>
> Cor
>
> "msavazzi" <m.sava***@discussion.microsoft.com> schreef in bericht
> news:D2FC74A7-3AFD-4DAC-A8E2-8CCAB440DE8A@microsoft.com...
> > Cor,
> > If I understood correctly it should be the function I'm using:
> > ad3 = DateTime.FromFileTimeUtc(aLn1)
> >
> >
> > Or I'm doing something wrong?
> >
> > M
> >
> > "Cor Ligthert [MVP]" wrote:
> >
> >> And you tried this as well?
> >>
> >> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDateTimeClassFromFileTimeUtcTopic.asp
> >>
> >> Cor
> >>
> >> "msavazzi" <m.sava***@discussion.microsoft.com> schreef in bericht
> >> news:BA22D001-B505-4EB9-A3A0-3BE38B4F5C8D@microsoft.com...
> >> > Cor,
> >> > I have a FILETIME (that I read from a File) and I want to store it in a
> >> > DateTime variable.
> >> >
> >> > And I do agree with you, it has a lot of methods.
> >> >
> >> > Unluckily it looks like THEY DON'T WORK (or is not clear how to have
> >> > them
> >> > work).
> >> > If you try the code I've posted you'll see.
> >> >
> >> > here is tha MSDN reference:
> >> > http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemDateTimeClassFromFileTimeUtcTopic.asp?frame=true
> >> >
> >> >
> >> >
> >> > M
> >> >
> >> > "Cor Ligthert [MVP]" wrote:
> >> >
> >> >> msAvazzi,
> >> >>
> >> >> What is it what you want to achieve, there are so many methods in
> >> >> datetime
> >> >> that I am not seeing what your goal is. I gues that is the same for
> >> >> others.
> >> >>
> >> >> By instance
> >> >> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdatetimeclassaddtopic.asp
> >> >>
> >> >> Cor
> >> >>
> >> >> "msavazzi" <m.sava***@discussion.microsoft.com> schreef in bericht
> >> >> news:503FFC9E-0FF9-470B-BFA7-88A437EA8899@microsoft.com...
> >> >> > Hi,
> >> >> > it should be simple,
> >> >> > put FILETIME in a Long
> >> >> > conver it in date using the DateTime.FromFileTimeUtc
> >> >> >
> >> >> > The help even says: Converts the specified Windows file time to an
> >> >> > equivalent UTC time.
> >> >> >
> >> >> >
> >> >> > Now why happens this:
> >> >> > original filetime 21/02/2006 00:33:29
> >> >> >
> >> >> > bytes:
> >> >> > 80 C2 E6 AB
> >> >> > 6D 36 C6 01
> >> >> >
> >> >> > when I convert it I have:
> >> >> > 1) 20/02/2006 22:26:19
> >> >> > 2) 20/02/2006 22:26:19
> >> >> >
> >> >> > Code:
> >> >> >        Dim ad3 As System.DateTime
> >> >> >        Dim aLn1 As Long
> >> >> >        Dim ad1 As System.Runtime.InteropServices.ComTypes.FILETIME
> >> >> >
> >> >> >       ad1.dwHighDateTime = &H1C6366D
> >> >> >       ad1.dwLowDateTime = &HABE6C280
> >> >> >
> >> >> >        aLn1 = (CLng(ad1.dwHighDateTime) << 32) +
> >> >> > CLng(ad1.dwLowDateTime)
> >> >> >
> >> >> >        ad3 = DateTime.FromFileTimeUtc(aLn1)
> >> >> >        Debug.Print("1) " & ad3)
> >> >> >        ad3.ToLocalTime()
> >> >> >        Debug.Print("2) " & ad3)
> >> >> >
> >> >> > and even worst if I do:
> >> >> >        ad3 = CDate("21/02/2006 00:33:29")
> >> >> >
> >> >> > the Thicks property is equal to:
> >> >> > ad3.Ticks &H8C8049591E69280 Long
> >> >> >
> >> >> >
> >> >> > please can anyone help me?
> >> >> >
> >> >> > Thanks,
> >> >> > M.
> >> >>
> >> >>
> >> >>
> >>
> >>
> >>
>
>
>
Author
14 Jun 2006 5:29 AM
Cor Ligthert [MVP]
Msavazi,

>
> Can you please try this code? because I'm getting mad....
>        Dim dt As New DateTime(&H1C6366CABE6C280)
>        MessageBox.Show(dt.ToString)
>        ad3 = CDate("21/02/2006 00:33:29")
>        MessageBox.Show(dt.Ticks)
>

No, there are so many datetime formats that I have stopped to look at any
internal format of them.

It gives me only troubles I cannot solve.

Sorry

Cor