This conversation has been locked due to inactivity. Please create a new post.
This conversation has been locked due to inactivity. Please create a new post.
Hello All,
Is there a way to update a datetime field with new values?
If existing value includes a valueformat yyyy-MM-dd'T'HH:mm:ss as persisted in aem and displayed as and I want to just set the value within aem to be 2015-07-26. That is plain yyyy-mm-dd. I do not want to create a new field but use the existing field within a dialog.
Any ideas how i could approach this?
I can set it to blank but not with any other value .
Solved! Go to Solution.
Views
Replies
Total Likes
Hi,
AEM uses date format yyyy-MM-dd'T'HH:mm:ss to store the date/calender type in JCR.
When you read this value , you can skip the part after yyyy-MM-dd
String dateStr = dateToString(jcrDate, "yyyy-MM-dd"); /** * Get string from date for the given format * * @param date * @param format * @return date string */ public static String dateToString(Calendar date, String format) { if (date == null || StringUtils.isBlank(format)) { return StringUtils.EMPTY; } try { DateFormat dateFormat = new SimpleDateFormat(format); return dateFormat.format(date.getTime()); } catch (Exception e) { LOG.error("Not able to convert date to string : {}", e.getMessage()); } return StringUtils.EMPTY; }
What is your use case here?
Please review https://blogs.perficient.com/2018/10/18/a-way-to-handle-dates-in-aem/ , I hope this one will help you.
Please refer the below screenshot the way I have defined the date field in demo component
The value was stored in 'YYYY-MM-DD' format as shown below
I am using AEM 6.5.9.
Hi @DEBAL_DAS , I wish i could use the approach but requirement is to reuse a date time field with a value format which has hhmmss and then if checkbox is checked, pick only yyyy-mm-dd, hiding the time portion on the pop up.
I am unable to set any value to it other than setting it to blank, maybe cause of the format associated to the field yyyy-mm-dd.
Do you know how i could approach this?
Hi,
AEM uses date format yyyy-MM-dd'T'HH:mm:ss to store the date/calender type in JCR.
When you read this value , you can skip the part after yyyy-MM-dd
String dateStr = dateToString(jcrDate, "yyyy-MM-dd"); /** * Get string from date for the given format * * @param date * @param format * @return date string */ public static String dateToString(Calendar date, String format) { if (date == null || StringUtils.isBlank(format)) { return StringUtils.EMPTY; } try { DateFormat dateFormat = new SimpleDateFormat(format); return dateFormat.format(date.getTime()); } catch (Exception e) { LOG.error("Not able to convert date to string : {}", e.getMessage()); } return StringUtils.EMPTY; }
What is your use case here?
Thanks @arunpatidar .. If date time field was in a format with hhmmss, i had to fill in 00:00.I went ahead with creating a date field and storing it in hh mm ss but displaying in dd-mm-yyyy format, and while copying i had to clear the date time field and then set it with the value persisted.
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies