QGIS 3.4 calculate date, add monthSelecting by month in date/time field using ArcGIS Desktop?Add a certain number of days for a date fieldCalculate date field using date variable and time attribute in a feature classMapBasic subtract date columnsArcMap - Field Calculator / Calculate Value - extract month of median date between two datesQGIS: Symbolize by date field based on current dateLimited field type options QGIS 3.4Add Date to raster layers in raster stack in RCalculate date difference (days) with expressions (QGIS)
Do businesses save their customers' credit card information until the payment is finalized?
'provocative' vs 'sexy'
Can I get bubble tea at Taiyuan airport?
Electrophilic substitution of benzene with conc. HNO₃ and HNO₂
Variable fixing based on a good feasible solution
How much do sea levels rise due to thermal expansion?
What's the current zodiac?
Can you set fire to beer barrels?
"Distance" vs "a distance"
How can demon technology be prevented from surpassing humans?
How do I avoid and entry being shifted when using multirow and rowcolor at the same time?
What is this game with a red cricket pushing a ball?
What is it called when you use wrong but smart arguments?
Trying to add electrical outlets off of a junction box but the junction box has a lot more wires than Ive been shown so which ones to run it off?
What do you call a document which has no content?
Extra battery in the gap of an HDD
How can a "proper" function have a vertical slope?
What is the fastest algorithm for finding the natural logarithm of a big number?
I’m having a hard time deciding whether this is a redemption arc
Displaying characteristics of the Hero in a console game
Do you say "good game" after a game in which your opponent played poorly?
Is Schrodinger's Cat itself an observer?
Dynamics m, r, s, and z. What do they mean?
They say I should work on bigger things
QGIS 3.4 calculate date, add month
Selecting by month in date/time field using ArcGIS Desktop?Add a certain number of days for a date fieldCalculate date field using date variable and time attribute in a feature classMapBasic subtract date columnsArcMap - Field Calculator / Calculate Value - extract month of median date between two datesQGIS: Symbolize by date field based on current dateLimited field type options QGIS 3.4Add Date to raster layers in raster stack in RCalculate date difference (days) with expressions (QGIS)
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty
margin-bottom:0;
I want to add a number of months to a date to get a new date. I have a date-field "date", an integer-field "months" and a date-field "new_date". I want to calculate the "new_date" by adding the "months" to the date. I did it with the expression: "date"+ to_interval( concat ( to_string("months"), ' months'))
For example: "date"= 2019-06-04, "months" = 12,
the result ("newd_date") is: 2020-05-29, but I want to have: 2020-06-04.
It seems that QGIS is calculating each month with 30 days. Is there a way to add the exact months?
qgis expression date calculate-values
New contributor
add a comment
|
I want to add a number of months to a date to get a new date. I have a date-field "date", an integer-field "months" and a date-field "new_date". I want to calculate the "new_date" by adding the "months" to the date. I did it with the expression: "date"+ to_interval( concat ( to_string("months"), ' months'))
For example: "date"= 2019-06-04, "months" = 12,
the result ("newd_date") is: 2020-05-29, but I want to have: 2020-06-04.
It seems that QGIS is calculating each month with 30 days. Is there a way to add the exact months?
qgis expression date calculate-values
New contributor
add a comment
|
I want to add a number of months to a date to get a new date. I have a date-field "date", an integer-field "months" and a date-field "new_date". I want to calculate the "new_date" by adding the "months" to the date. I did it with the expression: "date"+ to_interval( concat ( to_string("months"), ' months'))
For example: "date"= 2019-06-04, "months" = 12,
the result ("newd_date") is: 2020-05-29, but I want to have: 2020-06-04.
It seems that QGIS is calculating each month with 30 days. Is there a way to add the exact months?
qgis expression date calculate-values
New contributor
I want to add a number of months to a date to get a new date. I have a date-field "date", an integer-field "months" and a date-field "new_date". I want to calculate the "new_date" by adding the "months" to the date. I did it with the expression: "date"+ to_interval( concat ( to_string("months"), ' months'))
For example: "date"= 2019-06-04, "months" = 12,
the result ("newd_date") is: 2020-05-29, but I want to have: 2020-06-04.
It seems that QGIS is calculating each month with 30 days. Is there a way to add the exact months?
qgis expression date calculate-values
qgis expression date calculate-values
New contributor
New contributor
edited 9 hours ago
Nane
New contributor
asked 10 hours ago
NaneNane
112 bronze badges
112 bronze badges
New contributor
New contributor
add a comment
|
add a comment
|
1 Answer
1
active
oldest
votes
What a shame the to_interval
expression treats each month as 30 days!
Here's an ugly expression which will do what you want:
to_date(concat(year("date")+floor((month("date')+"months")/12), '-',
right('0' || ((month("date")+"months")%12) , 2),'-',
right('0' || day("date"),2)))
It breaks the date down into year, month and day, then uses the "months" field to add the relevant amount of years and months, then concatenates the values to make a string to convert to a date. The to_date
expression is very particular about the input format - the month and day must be two digits - so the right
expressions are used to pad out single digit months/days with a leading zero.
Thank you very much! It works for 12, 24, 36 months! But not for 6 month. Then the new_date ist Null. What can I do?
– Nane
1 hour ago
My bad - see updated answer, with corrected sub expression for the year part.
– M Bain
24 mins ago
still not right for when the new month equals 12 - working on it
– M Bain
5 mins ago
add a comment
|
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "79"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Nane is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f337910%2fqgis-3-4-calculate-date-add-month%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
What a shame the to_interval
expression treats each month as 30 days!
Here's an ugly expression which will do what you want:
to_date(concat(year("date")+floor((month("date')+"months")/12), '-',
right('0' || ((month("date")+"months")%12) , 2),'-',
right('0' || day("date"),2)))
It breaks the date down into year, month and day, then uses the "months" field to add the relevant amount of years and months, then concatenates the values to make a string to convert to a date. The to_date
expression is very particular about the input format - the month and day must be two digits - so the right
expressions are used to pad out single digit months/days with a leading zero.
Thank you very much! It works for 12, 24, 36 months! But not for 6 month. Then the new_date ist Null. What can I do?
– Nane
1 hour ago
My bad - see updated answer, with corrected sub expression for the year part.
– M Bain
24 mins ago
still not right for when the new month equals 12 - working on it
– M Bain
5 mins ago
add a comment
|
What a shame the to_interval
expression treats each month as 30 days!
Here's an ugly expression which will do what you want:
to_date(concat(year("date")+floor((month("date')+"months")/12), '-',
right('0' || ((month("date")+"months")%12) , 2),'-',
right('0' || day("date"),2)))
It breaks the date down into year, month and day, then uses the "months" field to add the relevant amount of years and months, then concatenates the values to make a string to convert to a date. The to_date
expression is very particular about the input format - the month and day must be two digits - so the right
expressions are used to pad out single digit months/days with a leading zero.
Thank you very much! It works for 12, 24, 36 months! But not for 6 month. Then the new_date ist Null. What can I do?
– Nane
1 hour ago
My bad - see updated answer, with corrected sub expression for the year part.
– M Bain
24 mins ago
still not right for when the new month equals 12 - working on it
– M Bain
5 mins ago
add a comment
|
What a shame the to_interval
expression treats each month as 30 days!
Here's an ugly expression which will do what you want:
to_date(concat(year("date")+floor((month("date')+"months")/12), '-',
right('0' || ((month("date")+"months")%12) , 2),'-',
right('0' || day("date"),2)))
It breaks the date down into year, month and day, then uses the "months" field to add the relevant amount of years and months, then concatenates the values to make a string to convert to a date. The to_date
expression is very particular about the input format - the month and day must be two digits - so the right
expressions are used to pad out single digit months/days with a leading zero.
What a shame the to_interval
expression treats each month as 30 days!
Here's an ugly expression which will do what you want:
to_date(concat(year("date")+floor((month("date')+"months")/12), '-',
right('0' || ((month("date")+"months")%12) , 2),'-',
right('0' || day("date"),2)))
It breaks the date down into year, month and day, then uses the "months" field to add the relevant amount of years and months, then concatenates the values to make a string to convert to a date. The to_date
expression is very particular about the input format - the month and day must be two digits - so the right
expressions are used to pad out single digit months/days with a leading zero.
edited 23 mins ago
answered 5 hours ago
M BainM Bain
5541 silver badge5 bronze badges
5541 silver badge5 bronze badges
Thank you very much! It works for 12, 24, 36 months! But not for 6 month. Then the new_date ist Null. What can I do?
– Nane
1 hour ago
My bad - see updated answer, with corrected sub expression for the year part.
– M Bain
24 mins ago
still not right for when the new month equals 12 - working on it
– M Bain
5 mins ago
add a comment
|
Thank you very much! It works for 12, 24, 36 months! But not for 6 month. Then the new_date ist Null. What can I do?
– Nane
1 hour ago
My bad - see updated answer, with corrected sub expression for the year part.
– M Bain
24 mins ago
still not right for when the new month equals 12 - working on it
– M Bain
5 mins ago
Thank you very much! It works for 12, 24, 36 months! But not for 6 month. Then the new_date ist Null. What can I do?
– Nane
1 hour ago
Thank you very much! It works for 12, 24, 36 months! But not for 6 month. Then the new_date ist Null. What can I do?
– Nane
1 hour ago
My bad - see updated answer, with corrected sub expression for the year part.
– M Bain
24 mins ago
My bad - see updated answer, with corrected sub expression for the year part.
– M Bain
24 mins ago
still not right for when the new month equals 12 - working on it
– M Bain
5 mins ago
still not right for when the new month equals 12 - working on it
– M Bain
5 mins ago
add a comment
|
Nane is a new contributor. Be nice, and check out our Code of Conduct.
Nane is a new contributor. Be nice, and check out our Code of Conduct.
Nane is a new contributor. Be nice, and check out our Code of Conduct.
Nane is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Geographic Information Systems Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f337910%2fqgis-3-4-calculate-date-add-month%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown