একটি নির্দিষ্ট সময়ের মধ্যে কীভাবে n ঘন্টা যুক্ত করবেন?


15

আমি একটি সময় চাই, সকাল :45:৪৫ মিনিট বলি এবং আরও কিছু ঘন্টা যোগ করতে পারি, 1.45 ঘন্টা বলুন, যাতে অন্য সময় আসতে পারে। তাই আমি আরও সময় পেতে সকাল সাড়ে :45:৪৫ থেকে ১.৪৫ ঘন্টা যোগ করতে চাই।

এর জন্য কি কোনও কমান্ড লাইন ইউটিলিটি রয়েছে? আমি কিছু গুগলিং করেছি, এবং ম্যান পেজটি পড়েছি dateএবং এর মতো কিছু খুঁজে পাইনি। wcalcসময় গণনাগুলি হ্যান্ডেল করে না বলে মনে হচ্ছে।

সম্পাদনা: মার্চ 6, 2015. দশমিক ঘন্টা ব্যবহার করার জন্য এটিই আমার স্ক্রিপ্ট। এইচএইচ: এমএম কয়েক ঘন্টা ব্যবহার করে এটি নিশ্চিত করতে এটি পরীক্ষা করতে কিছু ত্রুটি ব্যবহার করতে পারে।

#!/bin/bash
# Mar 6, 2015
# Add decimal hours to given time. 
# Syntax: timeadd HH:MM HOURS
# There MUST be 2 digits for the hours in HH:MM.
# Times must be in military time. 
# Ex: timeadd 05:51 4.51
# Ex: timeadd 14:12 2.05
echo " "
# If we have less than 2 parameters, show instructions and exit.
if [ $# -lt 2 ]
then
    echo "Usage: timeadd HH:MM DECHOURS"
    exit 1
fi
intime=$1
inhours=$2
# Below is arithmetic expansion $(())
# The bc calculator is standard on Ubuntu. 
# Below rounds to the minute. 
inminutes=$(echo "scale=0; ((($inhours * 60)*10)+5)/10" | bc)
echo "inminutes=$inminutes"
now=$(date -d "$intime today + $inminutes minutes" +'%H:%M')
echo "New time is $now"

উত্তর:


27

কমান্ড লাইন:

$ now=$(date -d "06:45 today + 105 minutes" +'%H:%M')
$ echo "$now"
08:30

$now আপনার নির্দিষ্ট সময়টি ধরে রাখবে।

আপনি "এবং" এর মধ্যে অনেকগুলি জিনিস রাখতে পারেন; বর্তমান সময়ের মতো এবং এতে 105 যোগ করুন।


$now=$(date -d "06:45 today + 2.5 hour" +'%H:%M')
date: invalid date `06:45 today + 2.5 hour'
$now=$(date -d "06:45 today + 2:30 hour" +'%H:%M')
date: invalid date `06:45 today + 2:30 hour'
$ now=$(date -d "06:45 today + 2 hour" +'%H:%M')
$ echo "$now"
08:45

দশমিকের অনুমতি নেই ...


মন্তব্য থেকে: 1.45 দশমিক ঘন্টা জন্য উত্তর পেতে:

$ now=$(date -d "06:45 today + $((145 * 60 / 100)) minutes" +'%H:%M')
$ echo "$now:
8:12

Squeee! ধন্যবাদ! শেষ অংশটি পড়তে আমার সমস্যা হয়েছিল, তবে% H:% M এর চারপাশের অংশটি দুটি একক উদ্ধৃতি। দশমিক ঘন্টাগুলিতে এটি কয়েক মিনিটে রূপান্তরিত করার পরিবর্তে কী করার কোনও উপায় আছে? এটি একটি পদক্ষেপ অপসারণ করবে। এমনকি আমি একটি বিশেষ ক্যালকুলেটর ইনস্টল করার জন্য উন্মুক্ত থাকতাম। আমি যদিও আপনার কাজের প্রশংসা করি, দয়া করে ভুল বুঝবেন না।
বেলারুশ

"+10 দিন" কাজ করে। তাই "+ ২ ঘন্টা" করে। অবশ্যই আপনি এখানে 2.5 ঘন্টা থেকে কয়েক মিনিট সময় তৈরি করার জন্য একটি পদ্ধতি যুক্ত করতে পারেন;) আপনি ব্যবহার করতে পারেন এমন শব্দের সম্পূর্ণ তালিকা আমি খুঁজে পাইনি ...
রিনজুইন্ড

@ বুবলুশ হুম কোন ঘন্টা দশমিক ছাড়ার অনুমতি নেই: ডি
রিনজউইন্ড

@ রিনজুইন্ড আমি নিশ্চিত নই তবে আপনি কি এর 2:30 hourবদলে চেষ্টা করেছেন 2.5 hour?
সнιη

1
@ রিনজুইন্ড তাই সম্ভাব্য একজন ব্যবহার করছেন 2 hour + 30 minutes;)
সিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.