Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to remove time from datetime

The field DATE in the database has the following format:

2012-11-12 00:00:00 

I would like to remove the time from the date and return the date like this:

11/12/2012 
like image 443
user1860212 Avatar asked Jan 11 '13 14:01

user1860212


People also ask

How do I remove the time from a datetime object in Python?

To remove the time from a datetime object in Python, convert the datetime to a date using date(). You can also use strftime() to create a string from a datetime object without the time. When working in Python, many times we need to create variables which represent dates and times.

How do I remove time from datetime flutter?

To reformat your date you should use below method. String convertedDate = new DateFormat("yyyy-MM-dd"). format({your date object}); But if you have date string, so first you need to convert it to date object.


2 Answers

First thing's first, if your dates are in varchar format change that, store dates as dates it will save you a lot of headaches and it is something that is best done sooner rather than later. The problem will only get worse.

Secondly, once you have a date DO NOT convert the date to a varchar! Keep it in date format and use formatting on the application side to get the required date format.

There are various methods to do this depending on your DBMS:


SQL-Server 2008 and later:

SELECT  CAST(CURRENT_TIMESTAMP AS DATE) 

SQL-Server 2005 and Earlier

SELECT  DATEADD(DAY, DATEDIFF(DAY, 0, CURRENT_TIMESTAMP), 0) 

SQLite

SELECT  DATE(NOW()) 

Oracle

SELECT  TRUNC(CURRENT_TIMESTAMP) 

Postgresql

SELECT  CURRENT_TIMESTAMP::DATE 

If you need to use culture specific formatting in your report you can either explicitly state the format of the receiving text box (e.g. dd/MM/yyyy), or you can set the language so that it shows the relevant date format for that language.

Either way this is much better handled outside of SQL as converting to varchar within SQL will impact any sorting you may do in your report.

If you cannot/will not change the datatype to DATETIME, then still convert it to a date within SQL (e.g. CONVERT(DATETIME, yourField)) before sending to report services and handle it as described above.

like image 176
GarethD Avatar answered Oct 04 '22 13:10

GarethD


just use, (in TSQL)

SELECT convert(varchar, columnName, 101) 

in MySQL

SELECT DATE_FORMAT(columnName, '%m/%d/%Y') 
like image 31
John Woo Avatar answered Oct 04 '22 12:10

John Woo