Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 828
  • Last Modified:

datetime string conversion

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
amillyard
Asked:
amillyard
  • 10
  • 5
  • 4
  • +1
12 Solutions
 
Ashish PatelCommented:
Try this
DateTime now = DateTime.Now();
Date nowGMT = now.ToUniversalTime();
string nowGMTstring = nowGMT.ToString();

Open in new window

0
 
amillyardAuthor Commented:
asvforce:

cannot do that change, as 'Date' is then not visible in the namespace.
0
 
Babycorn-StarfishCommented:
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
Free Backup Tool for VMware and Hyper-V

Restore full virtual machine or individual guest files from 19 common file systems directly from the backup file. Schedule VM backups with PowerShell scripts. Set desired time, lean back and let the script to notify you via email upon completion.  

 
Babycorn-StarfishCommented:
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
 
amillyardAuthor Commented:
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
 
Babycorn-StarfishCommented:
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
 
Ashish PatelCommented:
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
 
amillyardAuthor Commented:
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
 
Babycorn-StarfishCommented:
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
 
Ashish PatelCommented:
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
 
amillyardAuthor Commented:
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
 
Babycorn-StarfishCommented:
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
 
amillyardAuthor Commented:
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
 
amillyardAuthor Commented:
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
 
amillyardAuthor Commented:
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
 
Ashish PatelCommented:
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
 
DotNetThinkerCommented:
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
 
DotNetThinkerCommented:
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
 
DotNetThinkerCommented:
...may not need the cast if you include the space and comma.
0
 
amillyardAuthor Commented:
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
 
amillyardAuthor Commented:
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
 
amillyardAuthor Commented:
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

Configuration Guide and Best Practices

Read the guide to learn how to orchestrate Data ONTAP, create application-consistent backups and enable fast recovery from NetApp storage snapshots. Version 9.5 also contains performance and scalability enhancements to meet the needs of the largest enterprise environments.

  • 10
  • 5
  • 4
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now