Solved

datetime string conversion

Posted on 2007-11-19
22
818 Views
Last Modified: 2013-12-17
I am trying to get the nowGMT into a string !  ... but the following script is not working out for me yet.

what am I doing wrong?

your time and efforts with this enquiry are much apprieated.
DateTime now = DateTime.Now;

DateTime nowGMT = now.ToUniversalTime();
 

string nowGMTstring = nowGMT.ToString();

Open in new window

0
Comment
Question by:amillyard
  • 10
  • 5
  • 4
  • +1
22 Comments
 
LVL 23

Assisted Solution

by:Ashish Patel
Ashish Patel earned 240 total points
Comment Utility
Try this
DateTime now = DateTime.Now();

Date nowGMT = now.ToUniversalTime();

string nowGMTstring = nowGMT.ToString();

Open in new window

0
 

Author Comment

by:amillyard
Comment Utility
asvforce:

cannot do that change, as 'Date' is then not visible in the namespace.
0
 
LVL 11

Assisted Solution

by:Babycorn-Starfish
Babycorn-Starfish earned 170 total points
Comment Utility
Just a typo i think in that last code snippet
DateTime now = DateTime.Now;

DateTime nowGMT = now.ToUniversalTime();

string nowGMTstring = nowGMT.ToString();

MessageBox.Show(nowGMTstring);

Open in new window

0
 
LVL 11

Assisted Solution

by:Babycorn-Starfish
Babycorn-Starfish earned 170 total points
Comment Utility
However,

i don't see any difference between your original code and that suggested by asvforce.

What were you getting assigned to nowGMTstring in your original code?
0
 

Author Comment

by:amillyard
Comment Utility
Babycorn-Starfish:

Yes, I agree, no apparent difference -- except the 'Time' text removed.

DateTime now = DateTime.Now();
Date nowGMT = now.ToUniversalTime();   --- nowGMT is setup here and gets the current date/time data

"nowGMT" has all the data I that is required ... just need to convert that to a string format -- so I can make is part of a sql statement (string formatted).

string nowGMTstring = nowGMT.ToString();  -- this was my attempt to convert to string.
0
 
LVL 11

Assisted Solution

by:Babycorn-Starfish
Babycorn-Starfish earned 170 total points
Comment Utility
Hmm,

well that code does work

>>string nowGMTstring = nowGMT.ToString();

Is it just that it's not giving it to you in a format you can use?, give an example of what you actually get assigned to nowGMTstring and how ytou would like it to appear.

0
 
LVL 23

Assisted Solution

by:Ashish Patel
Ashish Patel earned 240 total points
Comment Utility
Try using this too. AS your code also worked for me, though please try the below one too.
string nowGMTstring = DateTime.Now().ToUniversalTime().ToString();

Open in new window

0
 

Author Comment

by:amillyard
Comment Utility
nothing is being updated when posting the database update -- when I take out the nowGMT column -- db updates ok.

[DateTimeStamp] on the db is setup as a 'smalldatetime' in structure.
DateTime now = DateTime.Now;

DateTime nowGMT = now.ToUniversalTime();

string nowGMTstring = nowGMT.ToString();
 

string sql = "UPDATE [MasterAccounts] set [TelemarketingInUseLock]=" + StatusUpdate + "[DateTimeStamp]=" + nowGMT + " WHERE [MasterAccount_ID]=" + (String)Session["MasterAccount"];

Open in new window

0
 
LVL 11

Assisted Solution

by:Babycorn-Starfish
Babycorn-Starfish earned 170 total points
Comment Utility
If this is your actual code is think the last line has an erorr in it in that your are passing nowGMT instead of nowGMTstring
0
 
LVL 23

Accepted Solution

by:
Ashish Patel earned 240 total points
Comment Utility
Okay now try this and let me know what error you get if the update is now running good.


DateTime now = DateTime.Now;

DateTime nowGMT = now.ToUniversalTime();

string nowGMTstring = nowGMT.ToString();

 

string sql = "UPDATE [MasterAccounts] set [TelemarketingInUseLock]=" + StatusUpdate + ", [DateTimeStamp]='" + nowGMT + "' 

WHERE [MasterAccount_ID]=" + (String)Session["MasterAccount"];

Open in new window

0
 

Author Comment

by:amillyard
Comment Utility
Babycorn-Starfish:

yes, it is actual code, I was trying with "nowGMT" and with "nowGMTstring" -- to see if there was any different (i.e. perhaps I did not have to convert to string).

asvforce:

have tried the code update as indicated -- db still refuing to update itself.

if I take out the "", [DateTimeStamp]='" + nowGMT +" for example -- db updates fine.
0
What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 11

Assisted Solution

by:Babycorn-Starfish
Babycorn-Starfish earned 170 total points
Comment Utility
try with a literal value in the format required, e.g. copy and paste from DB into your code and see whether it'll update that way.
0
 

Author Comment

by:amillyard
Comment Utility
same issue -- even with literal as follows -- this is prevent a db update
string sql = "UPDATE [MasterAccounts] set [TelemarketingInUseLock]=" + StatusUpdate + "[DateTimeStamp]='19/11/2007 12:24:00' WHERE [MasterAccount_ID]=" + (String)Session["MasterAccount"];

Open in new window

0
 

Author Comment

by:amillyard
Comment Utility
submitting this sql string -- works fine (but obviously no date/time updating going on)
string sql = "UPDATE [MasterAccounts] set [TelemarketingInUseLock]=" + StatusUpdate + " WHERE [MasterAccount_ID]=" + (String)Session["MasterAccount"];

Open in new window

0
 

Author Comment

by:amillyard
Comment Utility
in a different table, I can update the date and time ok, (when creating a new record) as follows via stored procedure:   (but obviously no other string conversion / manipulation here)



DateTime now = DateTime.Now;

DateTime nowGMT = now.ToUniversalTime();

scCommand.Parameters.AddWithValue("@DateTimeStamp", nowGMT);

Open in new window

0
 
LVL 23

Assisted Solution

by:Ashish Patel
Ashish Patel earned 240 total points
Comment Utility
Try changing the field from short date time to just date time and then do. If this fixes your issue then you can modify the update statement to take the date as short date time and then update.Let me know.
0
 
LVL 11

Assisted Solution

by:DotNetThinker
DotNetThinker earned 90 total points
Comment Utility
try this (be sure to include a space before the [DateTimeStamp]):
string sql = "UPDATE [MasterAccounts] set [TelemarketingInUseLock]=" + StatusUpdate + " [DateTimeStamp]=cast('" + nowGMTstring + "' as shortdatetime) WHERE [MasterAccount_ID]=" + (String)Session["MasterAccount"];

Open in new window

0
 
LVL 11

Assisted Solution

by:DotNetThinker
DotNetThinker earned 90 total points
Comment Utility
sorry, forgot the comma:


string sql = "UPDATE [MasterAccounts] set [TelemarketingInUseLock]=" + StatusUpdate + ", [DateTimeStamp]=cast('" + nowGMTstring + "' as shortdatetime) WHERE [MasterAccount_ID]=" + (String)Session["MasterAccount"];

Open in new window

0
 
LVL 11

Assisted Solution

by:DotNetThinker
DotNetThinker earned 90 total points
Comment Utility
...may not need the cast if you include the space and comma.
0
 

Author Comment

by:amillyard
Comment Utility
not working for me yet ... have restructured the scripting as follows:

webservice file:

    public class datetimeserver : System.Web.Services.WebService
    {
        [WebMethod]
        public DateTime GetServerTime()
        {
            return DateTime.Now;
        }
    }



.cs file


datetimeserver service = new datetimeserver();
DateTime serverTime = service.GetServerTime();

string sql = "UPDATE [MasterAccounts] set [RecordInUseLock]='" + StatusUpdate + "', [DateTimeStamp]='" + serverTime.ToString() + "' WHERE [MasterAccount_ID]=" + (String)Session["MasterAccount"];


cannot get this part to work yet -- ", [DateTimeStamp]='" + serverTime.ToString()

datetimestamp is a smalldatetime variable
0
 

Author Comment

by:amillyard
Comment Utility
fyi -- I managed to the string version working -- had to change the datetimestamp to a string variable though.

problem is that I am getting to output results for the time part as follows:

3:22:40 AM  - when running scripts via the server
08:19:20   - locally (development platform) ran

what I would to achieve though is:

xx/xx/xxxx xx:xx:xx
day/month/year hour/min/secs

what I also would like to achieve is obviously for this to be updating as a smalldatetime variable in db table.
0
 

Author Comment

by:amillyard
Comment Utility
Resolved this in the end using the following to correct the formatting issue:

string serverDateTime = serverTime.ToString("MMM dd, yyyy HH:mm:ss");
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Normally the drop down box control found in the .Net framework tools is able to select just one data and value at a time, which is displayed on the text area.   But what if you want to have multiple values to be selected in the drop down box? As …
In my previous article (http://www.experts-exchange.com/Programming/Languages/.NET/.NET_Framework_3.x/A_4362-Serialization-in-NET-1.html) we saw the basics of serialization and how types/objects can be serialized to Binary format. In this blog we wi…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now