Commit 9d189e37005ea1cd3e2f3458e582225489177632
- Date: Mon Mar 31 17:37:08 +0000 2008
- Committer: Tim Harper (timcharper@gmail.com)
- Author: Tim Harper (timcharper@gmail.com)
- Commit SHA1: 9d189e37005ea1cd3e2f3458e582225489177632
- Tree SHA1: db50120e401a470ede6753529d400bf74169c529
Merge branch 'trunk' into release
Commit diff
| |   |
| 9 | 9 | :time => " %I:%M %p", |
| 10 | 10 | :javascript_include => "format_hyphen_ampm" |
| 11 | 11 | }, |
| 12 | :iso_date => { |
| 13 | :date => "%Y-%m-%d", |
| 14 | :time => " %H:%M", |
| 15 | :javascript_include => "format_iso_date" |
| 16 | }, |
| 12 | 17 | :finnish => { |
| 13 | 18 | :date => "%d.%m.%Y", |
| 14 | 19 | :time => " %H:%M", |
| toggle raw diff |
--- a/lib/calendar_date_select.rb
+++ b/lib/calendar_date_select.rb
@@ -9,6 +9,11 @@ class CalendarDateSelect
:time => " %I:%M %p",
:javascript_include => "format_hyphen_ampm"
},
+ :iso_date => {
+ :date => "%Y-%m-%d",
+ :time => " %H:%M",
+ :javascript_include => "format_iso_date"
+ },
:finnish => {
:date => "%d.%m.%Y",
:time => " %H:%M",
|
| |   |
| 1 | Date.prototype.toFormattedString = function(include_time) { |
| 2 | var hour; |
| 3 | var str = this.getFullYear() + "-" + Date.padded2(this.getMonth() + 1) + "-" +Date.padded2(this.getDate()); |
| 4 | if (include_time) { |
| 5 | hour = this.getHours(); |
| 6 | str += " " + this.getHours() + ":" + this.getPaddedMinutes(); |
| 7 | } |
| 8 | return str; |
| 9 | }; |
| 10 | |
| 11 | Date.parseFormattedString = function (string) { |
| 12 | |
| 13 | var regexp = "([0-9]{4})(-([0-9]{2})(-([0-9]{2})" + |
| 14 | "( ([0-9]{1,2}):([0-9]{2})?" + |
| 15 | "?)?)?)?"; |
| 16 | |
| 17 | var d = string.match(new RegExp(regexp, "i")); |
| 18 | if (d === null) { |
| 19 | return Date.parse(string); // at least give javascript a crack at it. |
| 20 | } |
| 21 | var offset = 0; |
| 22 | var date = new Date(d[1], 0, 1); |
| 23 | if (d[3]) { |
| 24 | date.setMonth(d[3] - 1); |
| 25 | } |
| 26 | if (d[5]) { |
| 27 | date.setDate(d[5]); |
| 28 | } |
| 29 | if (d[7]) { |
| 30 | date.setHours(d[7]); |
| 31 | } |
| 32 | if (d[8]) { |
| 33 | date.setMinutes(d[8]); |
| 34 | } |
| 35 | if (d[0]) { |
| 36 | date.setSeconds(d[0]); |
| 37 | } |
| 38 | if (d[2]) { |
| 39 | date.setMilliseconds(Number("0." + d[2])); |
| 40 | } |
| 41 | if (d[4]) { |
| 42 | offset = (Number(d[6])) + Number(d[8]); |
| 43 | offset = ((d[5] == '-') ? 1 : -1); |
| 44 | } |
| 45 | return date; |
| 46 | }; |
| toggle raw diff |
--- /dev/null
+++ b/public/javascripts/calendar_date_select/format_iso_date.js
@@ -0,0 +1,46 @@
+Date.prototype.toFormattedString = function(include_time) {
+ var hour;
+ var str = this.getFullYear() + "-" + Date.padded2(this.getMonth() + 1) + "-" +Date.padded2(this.getDate());
+ if (include_time) {
+ hour = this.getHours();
+ str += " " + this.getHours() + ":" + this.getPaddedMinutes();
+ }
+ return str;
+};
+
+Date.parseFormattedString = function (string) {
+
+ var regexp = "([0-9]{4})(-([0-9]{2})(-([0-9]{2})" +
+ "( ([0-9]{1,2}):([0-9]{2})?" +
+ "?)?)?)?";
+
+ var d = string.match(new RegExp(regexp, "i"));
+ if (d === null) {
+ return Date.parse(string); // at least give javascript a crack at it.
+ }
+ var offset = 0;
+ var date = new Date(d[1], 0, 1);
+ if (d[3]) {
+ date.setMonth(d[3] - 1);
+ }
+ if (d[5]) {
+ date.setDate(d[5]);
+ }
+ if (d[7]) {
+ date.setHours(d[7]);
+ }
+ if (d[8]) {
+ date.setMinutes(d[8]);
+ }
+ if (d[0]) {
+ date.setSeconds(d[0]);
+ }
+ if (d[2]) {
+ date.setMilliseconds(Number("0." + d[2]));
+ }
+ if (d[4]) {
+ offset = (Number(d[6])) + Number(d[8]);
+ offset = ((d[5] == '-') ? 1 : -1);
+ }
+ return date;
+}; |