Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v5.0.0 to master #136

Merged
merged 38 commits into from
Dec 18, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
52e80d8
support bangla language
yeahia2508 Mar 17, 2021
8cf05f9
bn locale test code placed in right place
yeahia2508 Apr 17, 2021
9f2bd20
missing replaceToLocaleNum added
yeahia2508 Apr 17, 2021
ab0a2fa
added Ukrainian locale
yarmat Apr 19, 2021
c856548
missed to rename class name
yarmat Apr 19, 2021
6b70b8f
changed readme and test code formatted
yarmat Apr 20, 2021
9ef1c08
code format fixed
yeahia2508 Apr 21, 2021
5820629
fix locale value
yeahia2508 Apr 21, 2021
8bead6d
Merge pull request #113 from yarmat/master
jama5262 Apr 21, 2021
de0fa35
feature: add dutch support
diegobsit Apr 28, 2021
e5c9451
feature: add tests for dutch
diegobsit Apr 28, 2021
459d521
fix: adjust prefix and test
diegobsit Apr 28, 2021
6f49fcb
fix: add dutch in supported languages
diegobsit Apr 30, 2021
66f4f10
DateFormat test fix
yeahia2508 May 1, 2021
bb9e959
Merge pull request #114 from diegonuja/master
jama5262 May 3, 2021
9ce2308
code format fixed
yeahia2508 May 3, 2021
e50802d
Merge branch 'develop' into master
jama5262 May 3, 2021
bdd7bc1
Update availableLocales.dart
jama5262 May 3, 2021
15c334d
Merge pull request #102 from yeahia2508/master
jama5262 May 3, 2021
de2cc3f
add th locale, add test
May 8, 2021
536df43
add th locale to docs
May 10, 2021
8097969
Merge pull request #116 from srithong/develop
jama5262 May 21, 2021
352c720
Fix jama5262#115
calvintam236 Jul 15, 2021
aba4d3a
Fix dart -> date typos
calvintam236 Jul 16, 2021
bc609dd
Fix README to use relative link
calvintam236 Jul 16, 2021
baba449
platform badge doesn’t need to be a link
calvintam236 Jul 16, 2021
2ded0e4
Merge pull request #120 from calvintam236/bugfix/readme
jama5262 Jul 17, 2021
f5dd390
Updated test for sv locale
calvintam236 Jul 17, 2021
bf5e706
Merge pull request #119 from calvintam236/bugfix/115
jama5262 Jul 18, 2021
7690d6d
Fix jama5262#115 for nb
calvintam236 Aug 5, 2021
2dbfa38
Update test for nb
calvintam236 Aug 5, 2021
e350f39
Merge remote-tracking branch 'refs/remotes/origin/develop'
calvintam236 Aug 5, 2021
70d8732
Merge branch 'develop' into bugfix/115-2
calvintam236 Aug 5, 2021
ea33349
Merge pull request #122 from calvintam236/bugfix/115-2
jama5262 Aug 5, 2021
cdfec6f
[Issue 130] Update the unix parse function to be specific
Dec 18, 2021
bc5842a
[Issue 130] Update failing tests
Dec 18, 2021
746c587
Merge pull request #135 from jama5262/issue-130-fix-jiffy-unix
jama5262 Dec 18, 2021
1c13ada
Prepare for new release
Dec 18, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 20 additions & 21 deletions .idea/libraries/Dart_SDK.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,14 @@
[![.github/workflows/release.yml](https://github.com/jama5262/jiffy/actions/workflows/release.yml/badge.svg)](https://github.com/jama5262/jiffy/actions/workflows/release.yml)
[![codecov](https://codecov.io/gh/jama5262/jiffy/branch/master/graph/badge.svg?token=Z2EGVUGWTE)](https://codecov.io/gh/jama5262/jiffy)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Pub Version](https://img.shields.io/badge/pub-v4.1.0-blue)](https://pub.dev/packages/jiffy)
[![Platform](https://img.shields.io/badge/platform-flutter%7Cweb%7Cdart%20vm-orange)](https://github.com/jama5262/jiffy)
[![Pub Version](https://img.shields.io/badge/pub-v5.0.0-blue)](https://pub.dev/packages/jiffy)
![Platform](https://img.shields.io/badge/platform-flutter%7Cweb%7Cdart%20vm-orange)

Jiffy is a Flutter (Android, IOS and Web) date time package inspired by [momentjs](https://momentjs.com/) for parsing, manipulating, querying and formatting dates

### [Full Documentation](https://github.com/jama5262/jiffy/tree/v4.1.0/doc) | [Installation](https://pub.dev/packages/jiffy#-installing-tab-) | [ChangeLog](https://pub.dev/packages/jiffy#-changelog-tab-) | [Examples](https://pub.dev/packages/jiffy#-example-tab-)
### [Full Documentation](doc) | [Installation](https://pub.dev/packages/jiffy#-installing-tab-) | [ChangeLog](https://pub.dev/packages/jiffy#-changelog-tab-) | [Examples](https://pub.dev/packages/jiffy#-example-tab-)

#### [Follow the project board](https://github.com/jama5262/jiffy/projects/1)

# Usage

Expand Down
19 changes: 11 additions & 8 deletions doc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
[![.github/workflows/release.yml](https://github.com/jama5262/jiffy/actions/workflows/release.yml/badge.svg)](https://github.com/jama5262/jiffy/actions/workflows/release.yml)
[![codecov](https://codecov.io/gh/jama5262/jiffy/branch/master/graph/badge.svg?token=Z2EGVUGWTE)](https://codecov.io/gh/jama5262/jiffy)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Pub Version](https://img.shields.io/badge/pub-v4.1.0-blue)](https://pub.dev/packages/jiffy)
[![Pub Version](https://img.shields.io/badge/pub-v5.0.0-blue)](https://pub.dev/packages/jiffy)
[![Platform](https://img.shields.io/badge/platform-flutter%7Cweb%7Cdart%20vm-orange)](https://github.com/jama5262/jiffy)


Expand Down Expand Up @@ -75,8 +75,8 @@ Jiffy("2021-5-25"); // A calendar date part
Jiffy("2021/5/25"); // A calendar date part separated by slash "/"
Jiffy("2021525"); // Basic (short) full date
Jiffy("2021-5-25 12:00:00.000"); // An hour, minute, second, and millisecond time part
Jiffy("2021-5-25T12:00:00.000"); // ISO dart format
Jiffy("2021-5-25T12:00:00.000Z"); // ISO dart format (UTC)
Jiffy("2021-5-25T12:00:00.000"); // ISO date format
Jiffy("2021-5-25T12:00:00.000Z"); // ISO date format (UTC)
```

### String Formatting
Expand All @@ -103,7 +103,7 @@ Jiffy("2021-5-25", "yyyy-MM-dd").yMMMMd; // May 25, 2021

### Maps
You can also create a Jiffy from a Map, Supported key pairs are,

`[ year, month, day, hour, minute, second and millisecond ]`. See below
```dart
Jiffy({
Expand All @@ -123,15 +123,15 @@ Jiffy({
Jiffy can also parse timestamp milliseconds and seconds. Just call `Jiffy.unix()` which return a dart Datetime. See below
```dart
// Parsing a timestamp in milliseconds
Jiffy.unix(1318781876406);
Jiffy.unixFromMillisecondsSinceEpoch(1318781876406);

// Parsing a timestamp in seconds
Jiffy.unix(1318781876).format(); // 2011-10-16T19:17:56.000
Jiffy.unixFromSecondsSinceEpoch(1318781876).format(); // 2011-10-16T19:17:56.000
```

**_Note: `Jiffy.unix()` returns a timestamp base on local time. You can also get it in UTC which returns a UTC in dart Datetime. See below_**
**_Note: `Jiffy.unixFromMillisecondsSinceEpoch() or Jiffy.unixFromSecondsSinceEpoch` returns a timestamp base on local time. You can also get it in UTC which returns a UTC in dart Datetime. See below_**
```dart
Jiffy.unix(1318781876406).utc();
Jiffy.unixFromMillisecondsSinceEpoch(1318781876406).utc();
```

### Jiffy Cloning
Expand Down Expand Up @@ -542,6 +542,7 @@ Below are the locales that are supported in Jiffy. More will be added
| Italian | it / it_ch |
| Korean | ko |
| Russian | ru |
| Ukrainian | uk |
| Hindi | hi |
| Arabic | ar / ar_ly / ar_dz / ar_kw / ar_sa / ar_ma / ar_tn |
| Portuguese | pt / pt_br |
Expand All @@ -551,6 +552,8 @@ Below are the locales that are supported in Jiffy. More will be added
| Norwegian | nb |
| Persian | fa |
| Azerbaijani | az |
| Dutch | nl |
| Thailand | th |

Getting and setting locales in Jiffy **_always returns a future_**

Expand Down
1 change: 0 additions & 1 deletion example/jiffy_example.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import 'package:jiffy/jiffy.dart';
import 'package:jiffy/src/enums/units.dart';

Future<int> main() async {
// DISPLAY
Expand Down
17 changes: 9 additions & 8 deletions lib/src/jiffy.dart
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,15 @@ class Jiffy {
_initializeLocale();
}

Jiffy.unix(int timestamp) {
var timestampLength = timestamp.toString().length;
if (timestampLength != 10 && timestampLength != 13) {
throw JiffyException(
'The timestamp passed must be in seconds or millisecods e.g. 1570963450 or 1570963450123')
.cause;
}
if (timestampLength == 10) timestamp *= 1000;
Jiffy.unixFromSecondsSinceEpoch(int timestamp) {
_unix(timestamp * 1000);
}

Jiffy.unixFromMillisecondsSinceEpoch(int timestamp) {
_unix(timestamp);
}

void _unix(int timestamp) {
_dateTime = DateTime.fromMillisecondsSinceEpoch(timestamp);
}

Expand Down
12 changes: 10 additions & 2 deletions lib/src/locale/availableLocales.dart
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,18 @@ import 'package:jiffy/src/locale/jaLocale.dart';
import 'package:jiffy/src/locale/koLocale.dart';
import 'package:jiffy/src/locale/locale.dart';
import 'package:jiffy/src/locale/nbLocale.dart';
import 'package:jiffy/src/locale/nlLocale.dart';
import 'package:jiffy/src/locale/plLocale.dart';
import 'package:jiffy/src/locale/ptLocale.dart';
import 'package:jiffy/src/locale/ruLocale.dart';
import 'package:jiffy/src/locale/thLocale.dart';
import 'package:jiffy/src/locale/ukLocale.dart';
import 'package:jiffy/src/locale/azLocale.dart';
import 'package:jiffy/src/locale/svLocale.dart';
import 'package:jiffy/src/locale/trLocale.dart';
import 'package:jiffy/src/locale/zhCnLocale.dart';
import 'package:jiffy/src/locale/zhLocale.dart';
import 'package:jiffy/src/locale/bnLocale.dart';

Map<String, Locale> _availableLocales = {
'en': EnLocale(StartOfWeek.SUNDAY),
Expand Down Expand Up @@ -59,14 +63,18 @@ Map<String, Locale> _availableLocales = {
'ja': JaLocale(StartOfWeek.SUNDAY),
'ko': KoLocale(StartOfWeek.SUNDAY),
'ru': RuLocale(StartOfWeek.MONDAY),
'uk': UkLocale(StartOfWeek.MONDAY),
'hi': HiLocale(StartOfWeek.SUNDAY),
'pt': PtLocale(StartOfWeek.MONDAY),
'pt_br': PtLocale(StartOfWeek.SUNDAY),
'pl': PlLocale(StartOfWeek.MONDAY),
'tr': TrLocale(StartOfWeek.MONDAY),
'sv': SvLocale(StartOfWeek.SUNDAY),
'nb': NbLocale(StartOfWeek.SUNDAY),
'sv': SvLocale(StartOfWeek.MONDAY),
'nb': NbLocale(StartOfWeek.MONDAY),
'fa': FaLocale(true, StartOfWeek.SATURDAY),
'bn': BnLocale(StartOfWeek.SUNDAY),
'nl': NlLocale(StartOfWeek.MONDAY),
'th': ThLocale(StartOfWeek.SUNDAY)
};

Locale getLocale(String locale) {
Expand Down
53 changes: 53 additions & 0 deletions lib/src/locale/bnLocale.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import 'package:jiffy/src/locale/locale.dart';
import 'package:jiffy/src/locale/relativeTime.dart';
import 'package:jiffy/src/enums/startOfWeek.dart';
import 'package:jiffy/src/utils/replace.dart';

class BnLocale extends Locale {
StartOfWeek strtOfWeek;
BnLocale(this.strtOfWeek);

@override
RelativeTime relativeTime() => BnRelativeTime();

@override
List<String>? ordinals() => null;

@override
StartOfWeek startOfWeek() => strtOfWeek;
}

class BnRelativeTime extends RelativeTime {
@override
String prefixAgo() => '';
@override
String prefixFromNow() => '';
@override
String suffixAgo() => 'আগে';
@override
String suffixFromNow() => 'পরে';
@override
String lessThanOneMinute(int seconds) => 'কিছু মুহূর্ত';
@override
String aboutAMinute(int minutes) => 'এক মিনিট';
@override
String minutes(int minutes) => replaceToLocaleNum('$minutes মিনিট', 'bn');
@override
String aboutAnHour(int minutes) => 'এক ঘন্টা';
@override
String hours(int hours) => replaceToLocaleNum('$hours ঘন্টা', 'bn');
@override
String aDay(int hours) => 'এক দিন';
@override
String days(int days) => replaceToLocaleNum('$days দিন', 'bn');
@override
String aboutAMonth(int days) => 'এক মাস';
@override
String months(int months) => replaceToLocaleNum('$months মাস', 'bn');
@override
String aboutAYear(int year) => 'এক বছর';
@override
String years(int years) => replaceToLocaleNum('$years বছর', 'bn');
@override
String wordSeparator() => ' ';
}
53 changes: 53 additions & 0 deletions lib/src/locale/nlLocale.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import 'package:jiffy/src/locale/locale.dart';
import 'package:jiffy/src/locale/relativeTime.dart';
import 'package:jiffy/src/enums/startOfWeek.dart';

class NlLocale extends Locale {
StartOfWeek strtOfWeek;
NlLocale(this.strtOfWeek);

@override
RelativeTime relativeTime() => NlRelativeTime();

@override
List<String>? ordinals() => ['.', '.', '.', '.'];

@override
StartOfWeek startOfWeek() => strtOfWeek;
}

class NlRelativeTime extends RelativeTime {
@override
String prefixAgo() => '';
@override
String prefixFromNow() => '';
@override
String suffixAgo() => 'geleden';
@override
String suffixFromNow() => '';
@override
String lessThanOneMinute(int seconds) =>
seconds > 0 ? 'op dit moment' : 'een ogenblik';
@override
String aboutAMinute(int minutes) => 'een minuut';
@override
String minutes(int minutes) => '$minutes minuten';
@override
String aboutAnHour(int minutes) => 'een uur';
@override
String hours(int hours) => '$hours uur';
@override
String aDay(int hours) => 'een dag';
@override
String days(int days) => '$days dagen';
@override
String aboutAMonth(int days) => 'een maand';
@override
String months(int months) => '$months maanden';
@override
String aboutAYear(int year) => 'een jaar';
@override
String years(int years) => '$years jaar';
@override
String wordSeparator() => ' ';
}
52 changes: 52 additions & 0 deletions lib/src/locale/thLocale.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
import 'package:jiffy/src/locale/locale.dart';
import 'package:jiffy/src/locale/relativeTime.dart';
import 'package:jiffy/src/enums/startOfWeek.dart';

class ThLocale extends Locale {
StartOfWeek strtOfWeek;
ThLocale(this.strtOfWeek);

@override
RelativeTime relativeTime() => ThRelativeTime();

@override
List<String>? ordinals() => null;

@override
StartOfWeek startOfWeek() => strtOfWeek;
}

class ThRelativeTime extends RelativeTime {
@override
String prefixAgo() => '';
@override
String prefixFromNow() => 'อีก';
@override
String suffixAgo() => 'ที่แล้ว';
@override
String suffixFromNow() => '';
@override
String lessThanOneMinute(int seconds) => 'ไม่กี่วินาที';
@override
String aboutAMinute(int minutes) => '1 นาที';
@override
String minutes(int minutes) => '$minutes นาที';
@override
String aboutAnHour(int minutes) => '1 ชั่วโมง';
@override
String hours(int hours) => '$hours ชั่วโมง';
@override
String aDay(int hours) => '1 วัน';
@override
String days(int days) => '$days วัน';
@override
String aboutAMonth(int days) => '1 เดือน';
@override
String months(int months) => '$months เดือน';
@override
String aboutAYear(int year) => '1 ปี';
@override
String years(int years) => '$years ปี';
@override
String wordSeparator() => '';
}
Loading