निर्दिष्ट समय में n घंटे कैसे जोड़ें?


15

मैं चाहता हूं कि एक समय हो, सुबह 6:45 कहो, और एक घंटे का समय जोड़ो, दूसरे समय में परिणाम के लिए 1.45 घंटे। इसलिए मैं एक और समय पाने के लिए 1.45 घंटे से 6:45 बजे तक जोड़ना चाहूंगा।

क्या उसके लिए एक कमांड लाइन है? मैंने कुछ Googling किया है, और इसके लिए मैन पेज पढ़ा है और ऐसा कुछ dateभी नहीं पाया है। wcalcसमय की गणना को संभालने के लिए प्रतीत नहीं होता है।

संपादित करें: मार्च 6, 2015। यह वह स्क्रिप्ट है जिसे मैंने दशमलव घंटे का उपयोग करने के लिए समाप्त किया है। यह सुनिश्चित करने के लिए कुछ त्रुटि जाँच का उपयोग कर सकता है कि HH: MM घंटे के लिए 2 अंकों का उपयोग करता है।

#!/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 घंटा" करता है। बेशक आप 2.5 मिनट से मिनट बनाने के लिए यहां एक विधि भी जोड़ सकते हैं;) मुझे कभी भी आपके द्वारा उपयोग किए जाने वाले शब्दों की पूरी सूची नहीं मिली ...
Rinzwind

@ बूल्रश हम्म नहीं घंटे के साथ की अनुमति दी: डी
रिनविंड

@Rinzwind मुझे यकीन नहीं है लेकिन क्या आपने 2:30 hourइसके बजाय कोशिश की 2.5 hour?
α atsнιη

1
@ रिनविंड तो एक संभव उपयोग कर रहा है 2 hour + 30 minutes;)
αнsнι
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.