According to the documentation, it seems that it is only possible to manipulate dates with a numeric format, and not letters.
Does a package exist if I want to display date with the format Thur, Aug 23 ?
If not, how could I do this ?
Thank you !
You can create your own DateFormat using it's default constructor.
The format you want is EEEE, MMM d.
For Example print(new DateFormat("EEEE, MMM d").format(new DateTime.now())); should print Wedn, Jun 26 for today.
Related
I am using intl pakage's DateFormat class to format dates with a format like this:
_standardDateFormat = DateFormat('MMM dd, yyyy');
This produces strings like Feb 01, 2023.
How can I have the date without the prefix of 0 when it's a single-digit date? I would like to show Feb 1, 2023. I have tried d, dd, c but they all render with the prefixed 0.
If it's a double-digit date, I would of course like to show both digits: Mar 13, 2023.
Update: the single d format is indeed working, but I needed to restart flutter build to see the effect (not sure why).
I am getting {item.pubDate} from XML and the value is:
Mon, 02 Mar 2015 14:35:47 +0000
so I did this:
<#assign starting_point = item.pubDate?index_of(",")>
<#assign date="${item.pubDate?substring(starting_point + 1)}" />
${date?datetime("dd MMM yyyy hh:mm:ss z")?date}<br>
and the result is: Mar 2, 2015.
My question is, can we change value from Mar to March and if we can then what is the best way to do it? I could have if/elseif statements in freemarker and assign each three letter months to full month name but it looks not good. Any advice/tips will be greatly appreciated. thanks.
It doesn't mater, MMM will parse both Mar and March. The only important thing is to have at least 3 M-s, as http://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html says:
If the number of pattern letters is 3 or more, the month is interpreted as text; otherwise, it is interpreted as a number.
Yes, FreeMarker follows the same datetime formatting rules as Java. Use the ?string built in for dates. You can do:
${date?datetime("dd MMM yyyy hh:mm:ss z")?string("MMMM dd, yyyy")}
Source: http://freemarker.org/docs/ref_builtins_date.html#ref_builtin_string_for_date
I am trying to copy data from Excel to a SQL table.
I have dates generated in Excel file using RAND function. I am taking them as strings in an input and trying to convert them in date data type using tConvertType.
I have setted its datatype as 'string' in initial input and as 'date' in tConvertType's output and in tMSSqlOutput.
My job has work flow Excel input -> tConvertType -> tMap -> tMSSqlOutput.
While running the job I am getting an error which says :
java.text.ParseException: Unparseable date: "Tue Jul 17 00:00:00 EDT 1973"
I am not sure where the problem lies.
If anyone could help me with this it would be much appreciated.
Here's the screenshot of my job.
i am able to parse your given sample date please use below function in tMap for your date filed.
System.out.println(TalendDate.parseDateLocale("EEE MMM dd HH:mm:ss zzz yyyy", 'Tue Jul 17 00:00:00 EDT 1973', "EN"));
function is yourDateColumn!=null && !"".equalsIgnoreCase(yourDateColumn)? TalendDate.parseDateLocale("EEE MMM dd HH:mm:ss zzz yyyy", yourDateColumn, "EN") :null
#UmeshR: your code is working fine, but you have to handle the timezone thing as well. e.g. I am from India and when i converted the time from EDT talend converted it to my local timezone. see the screen-shot.
I am creating an app which is using RSS feed.
in that I have to parse a dateTime string.
string coming in data is : Tue, 17 Sep 2013T04:00:00 GMT
I can not convert it into date because of that T b/w year and hour.
Can anyone please provide me the date format for this?
I am using formate like EEE, dd MMM yyyy HH:mm:ss ZZZ
But it is giving null value
I used : EEE, dd MMM yyyy'T'HH:mm:ss ZZZ
and it worked..
date.parse() method of groovy detects date DD and year yyyy correctly but is unable to detect the month as mmm.. As in
println new Date().parse("DD-MMM-yyyy", '22-MAR-2011')
yields output as
Sat Jan 22 00:00:00 GMT+05:30 2011
Why is the month march as MAR picked up as Jan? What can I do to make it detect the month in mmm format?
The problem is actualy that you are using DD - that means day in year
Correct way:
println new Date().parse("dd-MMM-yyyy", '22-MAR-2011')
Quick tip when formatting dates try using the reverse and see what comes out:
println new Date().format("dd-MMM-yyyy")
Groovy uses SimpleDateFormat under the hood but that's not that important since most date libraries use the same format conventions.