Commit 929968c8 authored by Evgeny's avatar Evgeny

Date formatting now takes time as raw number in milliseconds

parent 3abc26c4
...@@ -6,7 +6,12 @@ export default function format(v, type='', str=''){ ...@@ -6,7 +6,12 @@ export default function format(v, type='', str=''){
return basicFormat(v); return basicFormat(v);
} }
type = toStandard(type);
if(type === 'DateTime'){
if(!(v instanceof Date)){
v = new Date(v);
}
}
const result = dataFormatter.format(v.toString(), type, str); const result = dataFormatter.format(v.toString(), type, str);
...@@ -52,7 +57,3 @@ export function basicFormat(x){ ...@@ -52,7 +57,3 @@ export function basicFormat(x){
return x.toLocaleString(); // for proper decimal separator return x.toLocaleString(); // for proper decimal separator
}; };
function toStandard(type){
return type[0].toUpperCase() + type.slice(1);
}
...@@ -13,12 +13,12 @@ describe('format', ()=>{ ...@@ -13,12 +13,12 @@ describe('format', ()=>{
it('should do number formatting', function(){ it('should do number formatting', function(){
const str = '#,#0.00'; const str = '#,#0.00';
expect(format(0, 'number', str)).to.be('0,00'); expect(format(0, 'Number', str)).to.be('0,00');
expect(format(1, 'number', str)).to.be('1,00'); expect(format(1, 'Number', str)).to.be('1,00');
expect(format(-1, 'number', str)).to.be('-1,00'); expect(format(-1, 'Number', str)).to.be('-1,00');
expect(format(1e10, 'number', str)).to.be('10 000 000 000,00'); expect(format(1e10, 'Number', str)).to.be('10 000 000 000,00');
expect(format(1.1234, 'number', str)).to.be('1,12'); expect(format(1.1234, 'Number', str)).to.be('1,12');
expect(format(1.1289, 'number', str)).to.be('1,13'); expect(format(1.1289, 'Number', str)).to.be('1,13');
}); });
it('should do currency formatting', function(){ it('should do currency formatting', function(){
...@@ -33,15 +33,18 @@ describe('format', ()=>{ ...@@ -33,15 +33,18 @@ describe('format', ()=>{
it('should do date formatting', ()=>{ it('should do date formatting', ()=>{
let d = new Date(2016, 0, 1, 0, 0, 0, 0); let d = new Date(2016, 0, 1, 0, 0, 0, 0);
expect(format(d, 'DateTime', 'yyyy-mm-dd')).to.be('2016-01-01'); expect(format(d, 'DateTime', 'yyyy-mm-dd')).to.be('2016-01-01');
d = new Date(2016, 0, 1, 1, 0, 0, 0); d = new Date(2016, 0, 1, 1, 0, 0, 0);
expect(format(d, 'DateTime', 'hh:mm')).to.be('01:00'); expect(format(d, 'DateTime', 'hh:mm')).to.be('01:00');
d = new Date(2016, 0, 1, 1, 59, 0, 0); d = new Date(2016, 0, 1, 1, 59, 0, 0);
expect(format(d, 'DateTime', 'hh:mm')).to.be('01:59'); expect(format(d, 'DateTime', 'hh:mm')).to.be('01:59');
}); });
it('should do date formatting when number is given', ()=>{
expect(format(0, 'DateTime', 'yyyy-mm-dd')).to.be('1970-01-01');
expect(format(1000*60*60*24, 'DateTime', 'yyyy-mm-dd')).to.be('1970-01-02');
});
}); });
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment