#!/usr/bin/env node
const yargs = require('yargs');
const moment = require('moment');
const argv = yargs
.usage('Usage: $0 <date_string>')
.demandCommand(1, 'Please provide a date string.')
.help()
.alias('h', 'help')
.argv;
function validateDate(dateString) {
// Attempt to parse the date string with various formats
const parsedDate = moment(dateString, 'YYYY-MM-DD HH:mm:ss | YYYY-MM-DD | MM/DD/YYYY | MM/DD/YY | DD/MM/YYYY | DD/MM/YY | YYYY', true);
if (!parsedDate.isValid()) {
return false; // Date is invalid
}
return true; // Date is valid
}
function main() {
const dateString = argv._[0];
if (!validateDate(dateString)) {
console.error('Error: Invalid date format.');
process.exit(1);
}
// Example: Show date in different formats
console.log(`Original Date: ${dateString}`);
console.log(`Formatted (YYYY-MM-DD): ${moment(dateString, 'YYYY-MM-DD').format('YYYY-MM-DD')}`);
console.log(`Formatted (MM/DD/YYYY): ${moment(dateString, 'MM/DD/YYYY').format('MM/DD/YYYY')}`);
console.log(`Formatted (DD/MM/YYYY): ${moment(dateString, 'DD/MM/YYYY').format('DD/MM/YYYY')}`);
console.log(`Formatted (HH:mm:ss): ${moment(dateString, 'HH:mm:ss').format('HH:mm:ss')}`);
console.log(`Formatted (YYYY-MM-DD HH:mm): ${moment(dateString, 'YYYY-MM-DD HH:mm').format('YYYY-MM-DD HH:mm')}`);
}
main();
Add your comment