473,890 Members | 1,716 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Error converting FILETIME to DateTime

Hi,
it should be simple,
put FILETIME in a Long
conver it in date using the DateTime.FromFi leTimeUtc

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.FILET IME

ad1.dwHighDateT ime = &H1C6366D
ad1.dwLowDateTi me = &HABE6C280

aLn1 = (CLng(ad1.dwHig hDateTime) << 32) + CLng(ad1.dwLowD ateTime)

ad3 = DateTime.FromFi leTimeUtc(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 &H8C8049591E692 80 Long
please can anyone help me?

Thanks,
M.
Jun 10 '06
14 9492
Cor,

"Cor Ligthert [MVP]" <no************ @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 .fromfiletimeut c.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/>

Jun 12 '06 #11
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

"Herfried K. Wagner [MVP]" <hi************ ***@gmx.at> schreef in bericht
news:uO******** ******@TK2MSFTN GP02.phx.gbl...
Cor,

"Cor Ligthert [MVP]" <no************ @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 .fromfiletimeut c.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/>

Jun 12 '06 #12
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.Cre ationTimeUtc.Ti cks)
MessageBox.Show (dt.ToString)
///

I hope this helps,

Cor

"msavazzi" <m.*******@disc ussion.microsof t.com> schreef in bericht
news:D2******** *************** ***********@mic rosoft.com...
Cor,
If I understood correctly it should be the function I'm using:
ad3 = DateTime.FromFi leTimeUtc(aLn1)
Or I'm doing something wrong?

M

"Cor Ligthert [MVP]" wrote:
And you tried this as well?

http://msdn.microsoft.com/library/de...meUtcTopic.asp

Cor

"msavazzi" <m.*******@disc ussion.microsof t.com> schreef in bericht
news:BA******** *************** ***********@mic rosoft.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...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/de...ssaddtopic.asp
>>
>> Cor
>>
>> "msavazzi" <m.*******@disc ussion.microsof t.com> schreef in bericht
>> news:50******** *************** ***********@mic rosoft.com...
>> > Hi,
>> > it should be simple,
>> > put FILETIME in a Long
>> > conver it in date using the DateTime.FromFi leTimeUtc
>> >
>> > 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.FILET IME
>> >
>> > ad1.dwHighDateT ime = &H1C6366D
>> > ad1.dwLowDateTi me = &HABE6C280
>> >
>> > aLn1 = (CLng(ad1.dwHig hDateTime) << 32) +
>> > CLng(ad1.dwLowD ateTime)
>> >
>> > ad3 = DateTime.FromFi leTimeUtc(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 &H8C8049591E692 80 Long
>> >
>> >
>> > please can anyone help me?
>> >
>> > Thanks,
>> > M.
>>
>>
>>


Jun 12 '06 #13
Cor,
you've been very kind.

Can you please try this code? because I'm getting mad....
Dim dt As New DateTime(&H1C63 66CABE6C280)
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 &H8C8049591E692 80 Long

So it looks like that "old" ticks are different from new ones!
I realy don't understand
"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.Cre ationTimeUtc.Ti cks)
MessageBox.Show (dt.ToString)
///

I hope this helps,

Cor

"msavazzi" <m.*******@disc ussion.microsof t.com> schreef in bericht
news:D2******** *************** ***********@mic rosoft.com...
Cor,
If I understood correctly it should be the function I'm using:
ad3 = DateTime.FromFi leTimeUtc(aLn1)
Or I'm doing something wrong?

M

"Cor Ligthert [MVP]" wrote:
And you tried this as well?

http://msdn.microsoft.com/library/de...meUtcTopic.asp

Cor

"msavazzi" <m.*******@disc ussion.microsof t.com> schreef in bericht
news:BA******** *************** ***********@mic rosoft.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...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/de...ssaddtopic.asp
>>
>> Cor
>>
>> "msavazzi" <m.*******@disc ussion.microsof t.com> schreef in bericht
>> news:50******** *************** ***********@mic rosoft.com...
>> > Hi,
>> > it should be simple,
>> > put FILETIME in a Long
>> > conver it in date using the DateTime.FromFi leTimeUtc
>> >
>> > 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.FILET IME
>> >
>> > ad1.dwHighDateT ime = &H1C6366D
>> > ad1.dwLowDateTi me = &HABE6C280
>> >
>> > aLn1 = (CLng(ad1.dwHig hDateTime) << 32) +
>> > CLng(ad1.dwLowD ateTime)
>> >
>> > ad3 = DateTime.FromFi leTimeUtc(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 &H8C8049591E692 80 Long
>> >
>> >
>> > please can anyone help me?
>> >
>> > Thanks,
>> > M.
>>
>>
>>


Jun 13 '06 #14
Msavazi,

Can you please try this code? because I'm getting mad....
Dim dt As New DateTime(&H1C63 66CABE6C280)
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

Jun 14 '06 #15

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
38598
by: Justin Wong | last post by:
CREATE PROCEDURE dbo.Synchronization_GetNewRecords ( @item varchar(50), @last datetime ) AS SET NOCOUNT ON
11
3824
by: jguilford | last post by:
I have created a SQL Stored Procedure that uses a Case statement to determine the Order By. For one of the Case statements I am trying to turn a Char field into Datetime in for the Order By, however I can not get it to work. Can someone please take a look and my code below and tell me what I am doing wrong. Thank you. ORDER BY CASE WHEN @SortBy = 'dttm_stamp' THEN dttm_stamp End, CASE WHEN @SortBy = 'Event_Date1' THEN...
4
25256
by: Saso Zagoranski | last post by:
Hi! I have created an SqlCommand object and I have set some parameters to it... One of the parameters is of the DateTime type; here is the code: sqlCommand.Parameters.Value = DateTime.Parse(this.DateTextBox.Text); sqlCommand.ExecuteNonReader(); I get the error:
5
2557
by: rodri rodri via DotNetMonster.com | last post by:
I have done a program with windows forms in "Visual C++". I have implemented a function that returns two values. For example: double functionExample(int parameter, double __gc* result2); And in a header file, I have written this line: using namespace System::Runtime::InteropServices; This line is necessary for key word. But when compiling the project, I get this error:
1
7262
by: aunthas | last post by:
I want to play sound using winapi, so I wrote these lines of code:- ------------------------------------------------------------------------------------------------------------------- using namespace System; using namespace System::Runtime::InteropServices; namespace WavAPI { extern "C" bool sndPlaySound(String* lpszSound, unsigned int fuSound);
1
4466
by: Andrew Baker | last post by:
this seems to be an SQL Server error but I cant work out how it is occuring. Itr is also after 3am and I cant keep working but need to demo by tomorrow. TIA. The code is: Private Sub myMethod(ByVal cust As String, ByVal invDate As Date) Dim paramDate As New OleDb.OleDbParameter, Dim paramCustomer As New OleDb.OleDbParameter paramDate.ParameterName = "@InvDate" paramDate.Value = invDate
1
3890
by: Sneil | last post by:
I know, general answer for my question is: long hFT2 = (((long) ft.dwHighDateTime) << 32) + ft.dwLowDateTime; DateTime dte = DateTime.FromFileTimeUtc(hFT2); where dwHighDateTime/dwLowDateTime is field of FILETIME structure. But! I call FindFirstFile and receive FILETIME structure with value(for ftLastAccessTime field): High = 29777898 Low = -2072184854
2
2700
by: joyjignesh | last post by:
hi i have make a report with mshflexgrid. the report between two date. when i have written query .open"select * from tablename where t_date>=convert(datetime,' " & text1.text &"') and t2_date>=convert(datetime,' " & text2.text &"'),cn,,,adcmdtext but there is a syntex error to converting datetime format into character string plz help me
1
4677
by: SnehaAgrawal | last post by:
Hi I get the error "Syntax error converting datetime from character string "for the following sql statement in Stored proc. SET @dynamicSQL =N'SELECT CUSTID,SHCodeLink FROM AccountMaster where CONVERT(DATETIME,OPDATE,105) < = '''+CONVERT(DATETIME,@ACCYEAR,105) +''' And GLCode = '+@DIVGLCODE EXEC(@dynamicsql)
0
9976
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, well explore What is ONU, What Is Router, ONU & Routers main usage, and What is the difference between ONU and Router. Lets take a closer look ! Part I. Meaning of...
0
10802
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10908
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10451
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9618
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development projectplanning, coding, testing, and deploymentwithout human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
6035
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4665
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
4259
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
3267
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.