how to display past date in dialogflow using #sys.date? - dialogflow-es

User's phrase - "I want details of 14th Jan."
#sys.date passses the parameter value as 2020-01-14 to the webhook, but here I want to pass value of parameter as 2019-01-14.

The user will have to specify what year they want for example:
i want details of 14th Jan this year
returned: 2019-01-14
i want details of 14th Jan last year
returned: 2018-01-14
You can also use $date.recent It will always try to convert the phrase into most recent date.
Check below example:
Date: returned 2020-01-14
Date.recent: returned 2019-01-14

Related

How we can extract Day, Date, Time in Excel which is in the format of following Fri Aug 07, 2020 05:12 UTC?

Long Date
Fri Aug 07, 2020 05:12 UTC
Day | Date | Time |
Friday | 07:10:2020 | 05:12 |
to get the date from that string use:
=--MID(A1,5,LEN(A1)-8)
Put that in three cells. Then format the cells:
day cell: dddd
Date Cell: dd\:mm\:yyyy
Time Cell: HH:MM
You could use the following to put the text string into just a date time format that excel understands:
=DATEVALUE(RIGHT(LEFT(A1,LEN(A1)-4),LEN(A1)-8))
The above will not be affected by number of digits for year, day or hour; only that the bit it is using has 4 chars at the front (Fri and space) and 4 at the end (space and UTC).
Since you have two digits for both day and hour, this could be simplified with using MID, like:
=DATEVALUE(MID(A1,5,LEN(A1)-8))
To extract a date from a text string representing a date, you can use the DATE function e.g. =DATE([year],[month],[day]).
To get those parts from a text string you can use =MID([input text string], [start position], [number of characters]). So you could do MID for each component (year, month etc) needed, then put the results through the DATE function.
Date formats in Excel are distinguished between what is stored and what is displayed.
What is stored depends on your excel settings.
What is displayed depends on your excel settings as well as your "regional and language options" or equivalent settings in your computer's operating system.
To change what is displayed, set a custom format (ctrl-1, first tab, last list item) to something like Ddd Mmm dd, yyyy hh:mm.
Otherwise regional and language options, and program settings, can override how the date is shown (which can be important if you are sharing workbooks, especially with unknown future users).
Is the input UTC or do you need to convert?
If you need to convert, do you have a fixed offset in hours? If so, it is a simple formula. For example: =A1+3/24 for UTC-3 hours.
To change what is stored, first understand whether the number stored represents the number of days since 1 Jan 1901, or 1 Jan 1904, or some other convention (such as 1 Jan 1970).
Then decide if you want to store it as a date or a text string.
Then decide if you want to store it as 3 copies of the same value (each displaying a different aspect: day, date, time) or if you just want each value to be its own part not the whole date "hidden" and the display set.
To store it as a text string, use =TEXT(A1,"Dddd"), =TEXT(A1,"MM:DD:YYYY") and =TEXT(A1,"HH:MM").
Watch out for 24 or 12 hour time: the difference is whether "AM/PM" is appended. Your input is likely 24h time but check another example from the dataset to be sure.

How to convert UTC to PDT in excel using formula

I have a file from amazon and in that they are providing datetime in UTC format.Below is the example of that :
2020-06-15T23:59:56+00:00
Now I want convert this datetime into PDT format in Excel using formula. Is it possible to do it?
You could use something like below. It works in 3 parts :
Substitute "T" from the value with a space.
Take only left part of value for 19 characters that make up the relevant date and time
Deduct 7 hours using 7/24 from the time as PDT = UTC - 7 hours
=LEFT(SUBSTITUTE(A2,"T"," "),19) - 7/24
Use SUBSTITUTE, and then subtract 7/24 to subtract 7 hours.
=SUBSTITUTE(SUBSTITUTE(A1,"T"," "),"+00:00","")-7/24

How to automatically convert a date to a specific text string?

I need to automatically convert in Excel a date to a specific string based on month and year.
Date to be converted ........... String to be changed to:
30-12-2018 06:00:00 PM ..... 12-December 18
29-12-2018 06:00:00 PM ..... 12-December 18
28-12-2018 06:00:00 PM ..... 12-December 18
30-11-2018 06:00:00 PM ..... 11-November 18
29-11-2018 06:00:00 PM ..... 11-November 18
Presented dates are provided for example purposes.
Do you know any solution to make this automatic?
I have already tried creating a separate sheet in the workbook where I manually wrote the association between the date and the string. Then I used VLOOKUP to bring the string to the area where I want to change the date.
But I want to send this report to end users and I don't want them to need to add new dates each time. Rather I want the file to update itself if possible.
In the cell formatting settings, you can use the custom date format string dd-mmmm yy for this. In my opinion, though, you'd be better off setting the cell's format to display dates according to the user's system settings.
I'm also assuming here that 30-12-2018 06:00:00 PM is a representation of a valid date value in Excel, rather than a free-text string. If not, then your actual problem is parsing this value as a date rather than displaying it in another format.

How to extract the UTC offset of a specific date and time using bash?

To be specific I do not want date +%z or date -R for the current local time, but I need something very similar that should work for any date in the past. For example, something like:
command 2018-04-01 12:33:45
should return the UTC offset (assume Chicago as my local time zone) at 12:33:45 on 1st April 2018 local time, Chicago time for example.
I searched extensively and there, probably, is no question close to this one, everyone wants current offset not date-time specific one, therefore it is not a duplicate.
Thanks very much
Update:
I have found something here, that asnwers how to get past dates using date command, then I have combined it with -R to get something close to what I want:
date -d "35 days ago" -R
I can go 35 days back and get the UTC offset.
To convert a particular date time to UTC you can use below command
for example date you provided in your question
2018-04-01 12:33:45
It would be something like below
date -u --date=#$(date "+%s" --date="2018-04-01 12:33:45")
which would have output similar to Sun Apr 1 10:33:45 UTC 2018
If you would like to achieve command date here then you can either create a command alias for above command or use above command in your script providing the date value to convert as an argument
I am answering my own question based on
My own update just after submitting the question.
Nahuel Fouilleul's comment.
Quoting from my own "edit":
"I have found something here, that answers how to get past dates using date command, then I have combined it with -R to get something close to what I want:
date -d "35 days ago" -R
I can go 35 days back and get the UTC offset."
here comes Nahuel's comment, "what about date -d 2018-04-01T12:33:45 -R"
That is in line with what I wrote in my "edit". Nahuel's solution works perfectly for me.
also Usman Malik's answer perfectly provides the solution.
So to summarize, my (not entirely though) answer will be:
date -d specific_past_date -R
where the specific_past_date is the date on which I need the UTC offset, using the date and time that I mentioned in my question, if I do:
date -d 2018-04-01T12:33:45 -R
I get Sun, 01 Apr 2018 12:33:45 -0500 from Chicago, that means Chicago time was 5 hours behind UTC on 1st April 2018 at 12:33:45.

Excel multiple if function

I am facing the following issue, at the moment.
I would like to know if a value matches with a field. This field contains the following information:
9/4/2015 12:00:00 PM
Month/Day/Year hh:mm:ss
Now I want to compare my values with the field mentioned above.
My values are: Day and Month.
My idea is to create one term and just change the values in the term
every month (for the report).
e.g.
IF Month = 10 and Day = 27 write Yes in a field. If not write No.
The problem is that a day or a month can have either two or one number:
9/4/2015 12:00:00 PM
10/25/2015 12:00:00 PM
1/12/2015 12:00:00 PM
12/1/2015 12:00:00 PM
Any ideas?
Thanks in advance.
The following forumula would do it without using VBA, comparing the value in A1 to a specific day and month using IF and SUMPRODUCT:
=IF(SUMPRODUCT(--(MONTH(A1)=10);--(DAY(A1)=27));"Yes";"No")

Resources