Convert day of the month(char) to date format in R - r

I run the following code in R studio and it worked fine in converting the 'start_dt' to date type and saving the output to a new column named 'date'.
all_data_cl$date<-as.Date(all_data_cl$start_dt,format="%d/%m/%Y")
I wanted to extract the day of the month from the resulting date and store the output in a new column named 'day',for that I wrote the following code:-
all_data_cl$day<-format(all_data_cl$date,"%d")
Though the 'all_data_cl$date' was in date format,the 'all_data_cl$day' is coming out to be a char type object rather than a date.
See Output Image
Can someone guide me on how to fix that?

Try this :
format(as.Date(df$x,format="%Y-%m-%d"), format = "%d")

Related

Setting sas date to yymmdd8 as a character variable

Putting on my dunce cap because I'm sure the answer will be simple but for the life if me I can't get this to work. I need to convert the numeric date to display as follows "20200412" to try and match between another data set.
I've tried this:
Newdate=put (old date, yymmdd8.); and it just makes new date display as blank.
Thanks for any help.
Just use newDate=input(oldDate, YYMMDDN.); instead.
data test;
oldDate="20220412";
format newDate YYMMDDN.;
newDate=input(oldDate, YYMMDDN.);
run;
This format is what you want.

Format Date via Parameter

I have a DateTime variable (default formatting), and I would like to format it to a format to I receive from a string parameter.
I normally do something similar to: {myDate:yyyy-MM-dd}, and it works properly.
Now I have a lot of possible date formats and need to format according to the chosen one.
I have tried the following but returned garbage (ae0aor0aa):
string testFormat = "yyyy. MM. dd.";
{myDate:testFormat }
I have also tried to convert the date to string and back to date with ParseExact, but gave me an invalid date exception. NB: the date in myDate is valid, as I have checked it with the debugger.
Can you kindly advise?
Thanks to apc, it was easily solved by myDate.ToString(testFormat)

How to change UK date format in LogicApp

Im trying to convert a U.K. input date (dd-MM-yyyy) to format (yyyy-MM-dd)
I tried
"#formatDateTime('15-03-2019','yyyy-MM-dd')" ==> Error
but got error:
'In function 'convertTimeZone', the value provided
for date time string '15-03-2019' was not valid. The datetime
string must match ISO 8601 format.'
How do I go about converting this input date? The input format is (dd-MM-yyyy) and cannot be changed.
I can easily convert from (MM-dd-yyyy) as shown below, but im not able to convert from (dd-MM-yyyy)
"#formatDateTime('03-15-2019','yyyy-MM-dd')" ==> OK
Date and time functions provided by azure logic app cannot recognize the timestamp in dd-MM-yyyy format.
After my research, there is no existing function that can directly solve this problem, but you can use substring and concat to deal with this problem.
The workflow of the logic app looks like this:
The expression of the formatDataTime:
formatDateTime(concat(substring(<your-date-string>,6,4),'-',substring(<your-date-string>,3,2),'-',substring(<your-date-string>,0,2)),'yyyy-MM-dd')

Correct format for converting string to R date-time object

I've a system generated date and time format. It looks something like this, "2017-04-12-02.29.25.000000" . I want to convert this format into a standard one so that my system can read this and later on I can convert it into minutes. Someone please help to provide a code in R.
If you're unsure of the format, the guess_formats function in lubridate is pretty helpful:
w <- "2017-04-12-02.29.25.000000"
> lubridate::guess_formats(w, orders = 'YmdHMS')
YOmdHMS YmdHMS
"%Y-%Om-%d-%H.%M.%OS" "%Y-%m-%d-%H.%M.%OS"
orders is the format you want the function to investigate and it outputs the correct representation. If the second entry in the string is the day you can try YdmHMS.
The difference in the two formats in the output in the above example is based on formatting of the second entry (always with a leading zero or not). Trying the first format gives:
> as.POSIXct(w, format = "%Y-%Om-%d-%H.%M.%OS")
[1] "2017-04-12 02:29:25 EDT"
In the as.POSIXct call you may specify the timezone tz if required.

convert two moment objects to similar format?

I have two moment object with one difference in format of there fields, and that difference is the obstacle . how to convert those two objects of similar format ?
screenshot of the console
the key "_i" is the difference the format of the 2nd object is working for me. So how to convert the 1st object exactly similar to 2nd object
Your second date is in UTC format.
To convert your first date to UTC format, use moment().utc() function of momentjs library.
Below is working example:
var yourDate = moment().utc();
console.log(yourDate);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.js"></script>

Resources