Grails saves datetime as UTC time, but reads it as local server time??? |
The timestamp is read back as local time instead. So if my timezone is +2 UTC and the current local time is 12:30:00, what will be saved to the database is 10:30:00, but when I read it back, it becomes 10:30:00. Does anybody know how to fix this problem so that Grails will read the timestamp back as UTC and convert it accordingly? |
I have the following line in my Grails application (BootStrap.groovy) to set the default timezone to UTC: |
TimeZone.setDefault(TimeZone.getTimeZone("UTC")) |
And above line solved my problem. Now I can set time anything to db and returned back the same date to my domain field |
Showing posts with label date. Show all posts
Showing posts with label date. Show all posts
Tuesday, October 12, 2021
Grails saves datetime as UTC time, but reads it as local server time
Saturday, January 28, 2017
DateTime Picker · Bootstrap
You can download full example from here
<head> <title>Bootstrap Date Time Picker Example</title> <script type="text/javascript" src="jquery-2.1.1.min.js"></script> <script type="text/javascript" src="moment-with-locales.js"></script> <script type="text/javascript" src="bootstrap.min.js"></script> <script type="text/javascript" src="bootstrap-datetimepicker.js"></script> <link rel="stylesheet" href="bootstrap.min.css"/> <link rel="stylesheet" href="font-awesome.min.css"/> <link rel="stylesheet" href="bootstrap-datetimepicker.css"/> <script type="text/javascript"> $(function () { var start = new Date(); start.setMinutes(start.getMinutes() + 20); var start_value = start.getFullYear() + "-" + (start.getMonth() + 1) + "-" + start.getDate(); start_value += " " + start.getHours() + ":" + start.getMinutes(); start.setDate(start.getDate() + 1); $('#datetimepicker1').datetimepicker({ defaultDate: start_value, format: 'DD-MM-YYYY hh:mm A', disabledDates: [ start ], daysOfWeekDisabled: [0, 6], sideBySide: false, showTodayButton: true, showClear: true, showClose: true, onSelect: function () { var minDate = $(this).datepicker('getDate'); $('#datetimepicker2').datepicker( "option", "minDate", minDate); } }); $('#datetimepicker2').datetimepicker({ defaultDate: start_value, format: 'DD-MM-YYYY hh:mm A', disabledDates: [ start ], daysOfWeekDisabled: [0, 6], sideBySide: false, showTodayButton: true, showClear: true, showClose: true }); $('#datetimepicker3').datetimepicker({ format: 'DD-MM-YYYY hh:mm A' }); $('#datetimepicker4').datetimepicker({ useCurrent: false, format: 'DD-MM-YYYY hh:mm A' }); $("#datetimepicker3").on("dp.change", function (e) { $('#datetimepicker4').data("DateTimePicker").minDate(e.date); }); $("#datetimepicker4").on("dp.change", function (e) { $('#datetimepicker3').data("DateTimePicker").maxDate(e.date); }); }); </script> </head> <body> <div class="container"> <div class="row"> <div class='col-sm-6'> <div class="form-group"> <div class='input-group date' id='datetimepicker1'> <input type='text' class="form-control" /> <span class="input-group-addon"> <span class="glyphicon glyphicon-calendar"></span> </span> </div> </div> </div> <div class='col-sm-6'> <div class="form-group"> <input id="datetimepicker2" type="text" class="form-control"/> </div> </div> </div> <div class="row"> <div class='col-md-6'> <div class="form-group"> <div class='input-group date' id='datetimepicker3'> <input type='text' class="form-control" /> <span class="input-group-addon"> <span class="glyphicon glyphicon-calendar"></span> </span> </div> </div> </div> <div class='col-md-6'> <div class="form-group"> <div class='input-group date' id='datetimepicker4'> <input type='text' class="form-control" /> <span class="input-group-addon"> <span class="glyphicon glyphicon-calendar"></span> </span> </div> </div> </div> </div> </div> </body>
Thursday, November 10, 2016
Php determine if date string is a valid date in that format
Code snippet
function validateDate($date_string) { $date_value = DateTime::createFromFormat('Y-m-d', $date_string); return $date_value && $date_value->format('Y-m-d') === $date_string; }
Some examples
var_dump( validateDate('2016-13-10')); // false var_dump( validateDate('20160-13-10')); // false var_dump( validateDate('2016-11-32')); // false var_dump( validateDate('2017-02-29')); // false var_dump( validateDate('2016-11-02')); // true var_dump( validateDate('1970-12-21')); // true var_dump( validateDate('2017-07-29')); // true
Online fiddle link
Wednesday, December 4, 2013
mysql date format
The DATE_FORMAT() function is used to display date/time data in different formats.
Where date is a valid date and format specifies the output format for the date/time.
The formats that can be used are from http://www.w3schools.com/sql/func_date_format.asp:
Syntax
DATE_FORMAT(date,format)
The formats that can be used are from http://www.w3schools.com/sql/func_date_format.asp:
Format | Description |
---|---|
%a | Abbreviated weekday name |
%b | Abbreviated month name |
%c | Month, numeric |
%D | Day of month with English suffix |
%d | Day of month, numeric (00-31) |
%e | Day of month, numeric (0-31) |
%f | Microseconds |
%H | Hour (00-23) |
%h | Hour (01-12) |
%I | Hour (01-12) |
%i | Minutes, numeric (00-59) |
%j | Day of year (001-366) |
%k | Hour (0-23) |
%l | Hour (1-12) |
%M | Month name |
%m | Month, numeric (00-12) |
%p | AM or PM |
%r | Time, 12-hour (hh:mm:ss AM or PM) |
%S | Seconds (00-59) |
%s | Seconds (00-59) |
%T | Time, 24-hour (hh:mm:ss) |
%U | Week (00-53) where Sunday is the first day of week |
%u | Week (00-53) where Monday is the first day of week |
%V | Week (01-53) where Sunday is the first day of week, used with %X |
%v | Week (01-53) where Monday is the first day of week, used with %x |
%W | Weekday name |
%w | Day of the week (0=Sunday, 6=Saturday) |
%X | Year of the week where Sunday is the first day of week, four digits, used with %V |
%x | Year of the week where Monday is the first day of week, four digits, used with %v |
%Y | Year, four digits |
%y | Year, two digits |
Examples in fiddle:
http://sqlfiddle.com/#!2/ccc08/3Tuesday, November 26, 2013
Get day diferrence between two dates using JAVA
return (int)( (date2.getTime() - date.getTime()) / (1000 * 60 * 60 * 24));
First day of next month with java Time
public static Date getNextMonth() { Date current = new Date(); Calendar c = Calendar.getInstance(); c.setTime(current); c.add(Calendar.MONTH, 1); c.set(Calendar.DATE, 1); c.set(Calendar.HOUR, 0); c.set(Calendar.MINUTE, 0); c.set(Calendar.SECOND, 0); return c.getTime(); } Date nextMonth = getNextMonth(); System.out.println(nextMonth);
And output as if you check it withing november month.
Sun Dec 01 00:00:00 ALMT 2013Monday, April 22, 2013
Convert string to date format java SimpleDaeFormat
String string = "January 2, 2010";
Date date = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH).parse(string);
System.out.println(date); // Sat Jan 02 00:00:00 BOT 2010
DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
String newDateString = df.format(
date
);
Date and Time Pattern | Result |
---|---|
"yyyy.MM.dd G 'at' HH:mm:ss z"
| 2001.07.04 AD at 12:08:56 PDT
|
"EEE, MMM d, ''yy"
| Wed, Jul 4, '01
|
"h:mm a"
| 12:08 PM
|
"hh 'o''clock' a, zzzz"
| 12 o'clock PM, Pacific Daylight Time
|
"K:mm a, z"
| 0:08 PM, PDT
|
"yyyyy.MMMMM.dd GGG hh:mm aaa"
| 02001.July.04 AD 12:08 PM
|
"EEE, d MMM yyyy HH:mm:ss Z"
| Wed, 4 Jul 2001 12:08:56 -0700
|
"yyMMddHHmmssZ"
| 010704120856-0700
|
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"
| 2001-07-04T12:08:56.235-0700
|
"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"
| 2001-07-04T12:08:56.235-07:00
|
"YYYY-'W'ww-u"
| 2001-W27-3
|
Letter | Date or Time Component | Presentation | Examples |
---|---|---|---|
G
| Era designator | Text | AD
|
y
| Year | Year | 1996 ; 96
|
Y
| Week year | Year | 2009 ; 09
|
M
| Month in year | Month | July ; Jul ; 07
|
w
| Week in year | Number | 27
|
W
| Week in month | Number | 2
|
D
| Day in year | Number | 189
|
d
| Day in month | Number | 10
|
F
| Day of week in month | Number | 2
|
E
| Day name in week | Text | Tuesday ; Tue
|
u
| Day number of week (1 = Monday, ..., 7 = Sunday) | Number | 1
|
a
| Am/pm marker | Text | PM
|
H
| Hour in day (0-23) | Number | 0
|
k
| Hour in day (1-24) | Number | 24
|
K
| Hour in am/pm (0-11) | Number | 0
|
h
| Hour in am/pm (1-12) | Number | 12
|
m
| Minute in hour | Number | 30
|
s
| Second in minute | Number | 55
|
S
| Millisecond | Number | 978
|
z
| Time zone | General time zone | Pacific Standard Time ; PST ; GMT-08:00
|
Z
| Time zone | RFC 822 time zone | -0800
|
X
| Time zone | ISO 8601 time zone | -08 ; -0800 ; -08:00
|
Monday, April 15, 2013
jquery format date
https://docs.google.com/file/d/0B5nZNPW48dpFTFdzYmhUN2xweU0/edit?usp=sharing
http://code.google.com/p/datejs/
http://code.google.com/p/datejs/
Getting Started
<script type="text/javascript" src="date.js"></script>Syntax Overview
Date.today() // Returns today's date, with time set to 00:00 (start of day). Date.today().next().friday() // Returns the date of the next Friday. Date.today().last().monday() // Returns the date of the previous Monday. new Date().next().march() // Returns the date of the next March. new Date().last().week() // Returns the date one week ago. Date.today().is().friday() // Returns true|false if the day-of-week matches. Date.today().is().fri() // Abbreviated day names. Date.today().is().november() // Month names. Date.today().is().nov() // Abbreviated month names. Date.today().is().weekday() // Is today a weekday? Date.today().addDays(1) // Add one day (+1). Date.today().addMonths(-3) // Subtract three months (-3). Date.today().add(1).day() // Add one (+1) day. Supports all date parts (year, month, day, hour, minute, second, millisecond, and weeks) Date.today().add(-3).months() // Subtract three (-3) months. (1).day().fromNow() // One (1) day from now. (3).months().ago() // Three (3) months ago. var n = 6; n.months().fromNow() // Six (6) months from now. Date.monday() // Returns Monday of the current week. Date.mon() // Abbreviated version of Date.monday() Date.march() // Returns March 1st of this year. Date.mar() // Abbreviated version of Date.march() Date.today().first().thursday() // Returns the first Thursday of the current month. Date.today().second().thursday()// Returns the second Thursday of the current month. Date.march().third().thursday() // Returns the third Thursday in March of the current year. Date.october().fourth().sunday()// Returns the fourth Sunday in October. Date.today().fifth().sunday() // Returns the fifth Sunday in the current month, or throws a RangeError exception if there are not 5 Sundays in the current month. Date.october().final().sunday() // Returns the final Sunday in October. Date.january().first().monday() // Returns the first Monday of the current year. Date.december().final().friday()// Returns the last Friday of the current year. Date.today().at("6:15pm"); // Returns todays date at 6:15pm. var time = {hour:18, minute:15}; Date.today().at(time); // Set time with a config object. var birthDayParty = {month: 1, day: 20, hour: 20, minute: 30}; Date.today().set(birthDayParty);// Set date and time with a config object.
Parsing
Date.parse('t') // Returns today's date. Date.parse('today') // Returns today's date. Date.parse('tomorrow') // Returns tomorrow's date. Date.parse('yesterday') // Returns yesterday's date. Date.parse('next friday') // Returns the date of the next Friday. Date.parse('last monday') // Returns the date of the previous Monday. Date.parse('July 8th, 2004') // Thu Jul 08 2004 Date.parse('15-Jan-2004') // Thu Jan 15 2004 Date.parse('7/1/2004') // Thu Jul 01 2004 Date.parse('7.1.2004') // Thu Jul 01 2004 Date.parse('07.15.04') // Thu Jul 15 2004 Date.parse('July 23rd 2004') // Fri Jul 23 2004 Date.parse('Sat July 3, 2004') // Sat Jul 03 2004 Date.parse('10:30 PM EST') // Wed Oct 31 2007 20:30:00 Date.parse('10PM') // Wed Oct 31 2007 22:00:00 Date.parse('t + 5d') // Adds 5 days to today. Date.parse('today - 1 month') // Subtracts 1 month from today. Date.parse('+') // Add 1 day to today = tomorrow. Date.parse('- 3months') // Subtract 3 months. Date.parse('+1year') // Add a year to today. Date.parse('-12 months') // Subtract 12 months (1 year) from today. Date.parse('July 4th') // July 4th of this year. Date.parse('15') // 15th day of current month/year. Date.parse('July 8th, 2004, 10:30 PM') // Thu Jul 08 2004 22:30:00 Date.parse('2004-07-15T06:45:00') // Thu Jul 15 2004 06:45:00 Date.parse('Thu, 1 July 2004 22:30:00 GMT') // Thu Jul 01 2004 16:30:00 Date.parse('1997-07-16T19:20:15') // ISO 8601 Formats Date.parse('1997-07-16T19:20:30+01:00') // ISO 8601 with Timezone offset Date.parse('1985-04-12T23:20:50Z') // RFC 3339 Formats
Chaining
Date.today().add({ months: 1, days: 5 }).is().fri() // Add 1 month and 5 days, then check if that date is a Friday. Date.parse('10-July-2004').next().friday().add(-1).month() // Take in a date, then move to the next Friday and subtract a month.
Comparison
Date.today().equals( Date.parse('today')) // true|false Date.parse('last Tues').equals(Date.today()) // true|false Date.equals(Date.today(), Date.parse('today')) // true|false Date.compare(Date.today(), Date.parse('today')) // 1 = greater, -1 = less than, Date.today().compareTo(Date.parse('yesterday')) // 1 = greater, -1 = less than, 0 = equal Date.today().between(startDate, endDate) // true|false
Converting to String
Format | Description | Example |
s | The seconds of the minute between 0-59. | "0" to "59" |
ss | The seconds of the minute with leading zero if required. | "00" to "59" |
m | The minute of the hour between 0-59. | "0" or "59" |
mm | The minute of the hour with leading zero if required. | "00" or "59" |
h | The hour of the day between 1-12. | "1" to "12" |
hh | The hour of the day with leading zero if required. | "01" to "12" |
H | The hour of the day between 0-23. | "0" to "23" |
HH | The hour of the day with leading zero if required. | "00" to "23" |
d | The day of the month between 1 and 31. | "1" to "31" |
dd | The day of the month with leading zero if required. | "01" to "31" |
ddd | Abbreviated day name. Date.CultureInfo.abbreviatedDayNames. | "Mon" to "Sun" |
dddd | The full day name. Date.CultureInfo.dayNames. | "Monday" to "Sunday" |
M | The month of the year between 1-12. | "1" to "12" |
MM | The month of the year with leading zero if required. | "01" to "12" |
MMM | Abbreviated month name. Date.CultureInfo.abbreviatedMonthNames. | "Jan" to "Dec" |
MMMM | The full month name. Date.CultureInfo.monthNames. | "January" to "December" |
yy | Displays the year as a two-digit number. | "99" or "07" |
yyyy | Displays the full four digit year. | "1999" or "2007" |
t | Displays the first character of the A.M./P.M. designator. Date.CultureInfo.amDesignator or Date.CultureInfo.pmDesignator | "A" or "P" |
tt | Displays the A.M./P.M. designator. Date.CultureInfo.amDesignator or Date.CultureInfo.pmDesignator | "AM" or "PM" |
S | The ordinal suffix ("st, "nd", "rd" or "th") of the current day. | "st, "nd", "rd" or "th" |
Format | Description | Example |
d | The CultureInfo shortDate Format Pattern | "M/d/yyyy" |
D | The CultureInfo longDate Format Pattern | "dddd, MMMM dd, yyyy" |
F | The CultureInfo fullDateTime Format Pattern | "dddd, MMMM dd, yyyy h:mm:ss tt" |
m | The CultureInfo monthDay Format Pattern | "MMMM dd" |
r | The CultureInfo rfc1123 Format Pattern | "ddd, dd MMM yyyy HH:mm:ss GMT" |
s | The CultureInfo sortableDateTime Format Pattern | "yyyy-MM-ddTHH:mm:ss" |
t | The CultureInfo shortTime Format Pattern | "h:mm tt" |
T | The CultureInfo longTime Format Pattern | "h:mm:ss tt" |
u | The CultureInfo universalSortableDateTime Format Pattern | "yyyy-MM-dd HH:mm:ssZ" |
y | The CultureInfo yearMonth Format Pattern | "MMMM, yyyy" |
new Date().toString() // "Wed Oct 31 2007 16:18:10 GMT-0700 (Pacfic Daylight Time)" new Date().toString('M/d/yyyy') // "10/31/2007" Date.today().toString('d-MMM-yyyy') // "31-Oct-2007" new Date().toString('HH:mm') // "16:18" Date.today().toString('MMMM dS, yyyy') // "April 12th, 2008" Date.today().toShortDateString() // "10/31/2007". Culture specific as per Date.CultureInfo.shortDatePattern. Date.today().toLongDateString() // "Wednesday, October 31, 2007". Culture specific as per Date.CultureInfo.longDatePattern. new Date().toShortTimeString() // "4:18 PM". Culture specific as per Date.CultureInfo.shortTimePattern. new Date().toLongTimeString() // "4:18:34 PM". Culture specific as per Date.CultureInfo.longTimePattern.
Core
Date.today().set({ day: 15 }) // Sets the day to the 15th of the current month and year. Other object values include year|month|day|hour|minute|second. Date.today().set({ year: 2007, month: 1, day: 20 }) Date.today().add({ days: 2 }) // Adds 2 days to the Date. Other object values include year|month|day|hour|minute|second. Date.today().add({ years: -1, months: 6, hours: 3 }) Date.today().addYears(1) // Add 1 year. Date.today().addMonths(-2) // Subtract 2 months. Date.today().addWeeks(1) // Add 1 week Date.today().addHours(6) // Add 6 hours. Date.today().addMinutes(-30) // Subtract 30 minutes Date.today().addSeconds(15) // Add 15 seconds. Date.today().addMilliseconds(200) // Add 200 milliseconds. Date.today().moveToFirstDayOfMonth() // Returns the first day of the current month. Date.today().moveToLastDayOfMonth() // Returns the last day of the current month. new Date().clearTime() // Sets the time to 00:00 (start of the day). Date.today().setTimeToNow() // Resets the time to the current time (now). The functional opposite of .clearTime()
ISO 8601
// Parse ISO 8601 string Date.parse('\"1997-07-16T19:20:15\"') // ISO 8601 string format with wrapping double-quotes // Convert date to ISO 6801 string new Date().toISOString() // Returns ISO 8601 string of date converted to it's UTC value. "2007-10-31T16:18:00Z" // Get UTC converted ISO week number Date.today().getISOWeek() // Returns ISO 8601 week of year. Returns "01" to ("52" | "53") depending on the year. See also .getWeek()
Misc
Date.getMonthNumberFromName('March') // 2 - CultureInfo specific. <static> Date.getDayNumberFromName('sat') // 6 - CultureInfo specific. <static> Date.isLeapYear(2008) // true|false. <static> Date.getDaysInMonth(2007, 9) // 31 <static> Date.today().getWeek() // Returns week of year. Returns 1 to (52 | 53) depending on the year Date.today().setWeek(1) // Sets the week of the year to the Monday of the week set. var test = new Date(); // Do something... like run a test... test.getElapsed() // Returns millisecond difference from now. Date.today().isDaylightSavingTime() // true|false. Is within the Daylight Saving Time. Date.today().hasDaylightSavingTime() // true|false. Is Daylight Saving Time observed.
Subscribe to:
Posts (Atom)