Difference in 2 dates to be fetched in days format - angular8

this.diffDays[0] = Math.round(Math.abs((this.creationDate - this.todayDate)));
this is the condition I provided..If my creationDate is 15/10/2019 and todaydate is 16/10/2019, I should get the answer as 1..Instead of that i am getting 0..

Use (yyyy-MM-dd) date format.
for Example,this.diffDays[0] = Math.round(Math.abs((2019-10-15) - (2019-10-16))));

Related

How to convert 6 digit decimal to date format (SQL)

Would like to convert 6 digit decimal e.g. 310322 (ddmmyy) to Date Format to 2022-03-31?
Thank you.
Please specify what language you are using, I will share in python.
You just have to separate the elements by positions and convert in the format that you want to use, in this case as you can see i added the timezone UTC for better format:
Decimal_value = 310322
Year = int(decimal_value[4:5])
month = int(decimal_value[2:3])
day = int(decimal_value[0:1])
Date_format = datetime(day, month, year).replace(tzinfo=timezone.utc)
In Impala you have to convert it into a timestamp and then do to_date
select to_date(to_timestamp('310322', 'DDMMYY'),'YYYY-MM-DD');

Converting the Create Date Column in Date Only format During Search ORM in Odoo 8

Good Day! I have this problem I have a code like this
tree_model = self.env['hr.reception'].search([('create_date','=',date_from)])
the date_from is only a date only parameter while the column create_date is datetime column I only want to format the create_date as date only format
is this possible just like in postgres
(create_date::date)
Thanks for the Help
You can achieve it using date() method which will return the date format instead of datetime.
For example:
1. datetime.now() will result in datetime format.
2. datetime.datetime.now().date() will result in date format.
Try : create_date.strftime('%Y-%m-%d')

convert date to integer in postgresql

I'm trying to convert a date (date type) into int. This int should be something like the number of days since the 1 January 1900. How to get this in postgresql? In excel I'm getting this automatically when i concatenate a date with a string.
Example : 2011/11/01 convert into int as 36831
Simply subtract the two dates:
select date '2011-11-01' - date '1900-01-01'
the result will be the number of days.
More details in the manual:
http://www.postgresql.org/docs/current/static/functions-datetime.html

check for dates syntax - teradata SQL

I am trying to check for dates but after running the query below, it displays no result. Could someone recommend me the correct syntax?
SELECT TOP 10 * FROM MY_DATABASE.AGREEMENT
WHERE end_dt=12/31/9999
12/31/9999 might look like a date for you but for the database it's a calculation:
12 divided by 31 divided by 9999 and because this involves INTEGER division this results in an INTEGER 0
So finally you compare a DATE to an INT and this results in typecasting the DATE to a INT.
The only reliable way to write a date literal in Teradata is DATE followed by a string with a YYYY-MM-DD format:
DATE '9999-12-31'
Similar for TIME '12:34:56.1' and TIMESTAMP '2014-08-20 12:34:56.1'
Is it a date column? Then try where end_dt = '9999-12-31'.
The question you ask is not very clear. The date you specify is language dependent.
Try
SELECT TOP 10 * FROM MY_DATABASE.AGREEMENT WHERE end_dt='99991231'

Filter by Dates in SQL

I have a column in my table for dates (DateTime) and I am trying to create a WHERE clause that says, WHERE dates BETWEEN 12-11-2012 and 12-13-2012
A sample value of dates column = 2012-05-24 00:38:40.260
I want to say WHERE dates BETWEEN MM-DD-YYYY and MM-DD-YYYY.
I tried doing
WHERE dates BETWEEN ((convert(nvarchar(10), dates,110) = '2012-12-12') AND (convert(nvarchar(10), dates,110) = '2012-12-12'))
but doesn't seem to work. "Incorrect syntax near ="
Please help
EDIT:
Thanks for various options and description guys. Got it working with #RichardTheKiwi's options.
If your dates column does not contain time information, you could get away with:
WHERE dates BETWEEN '20121211' and '20121213'
However, given your dates column is actually datetime, you want this
WHERE dates >= '20121211'
AND dates < '20121214' -- i.e. 00:00 of the next day
Another option for SQL Server 2008 onwards that retains SARGability (ability to use index for good performance) is:
WHERE CAST(dates as date) BETWEEN '20121211' and '20121213'
Note: always use ISO-8601 format YYYYMMDD with SQL Server for unambiguous date literals.
WHERE dates BETWEEN (convert(datetime, '2012-12-12',110) AND (convert(datetime, '2012-12-12',110))
Well you are trying to compare Date with Nvarchar which is wrong. Should be
Where dates between date1 And date2
-- both date1 & date2 should be date/datetime
If date1,date2 strings; server will convert them to date type before filtering.