ટાઇમસ્ટેમ્પ ફોર્મેટ
સામગ્રી:
સારાંશ
સમસ્યા
અમે ટાઇમસ્ટેમ્પ વાપરીને અને અમારી તમામ સિસ્ટમો અને તૃતીય-પક્ષ સિસ્ટમોમાં સારી રીતે કામ કરતું સુસંગત ટાઇમસ્ટેમ્પ ફોર્મેટ વાપરીને વસ્તુઓ ક્યારે બને છે તેને ટ્રેક કરવા સક્ષમ થવા માગીએ છીએ.
અમે એવી સિસ્ટમો સાથે આંતરક્રિયા કરીએ છીએ જેમના ટાઇમસ્ટેમ્પ ફોર્મેટ અલગ છે:
JSON સંદેશાઓનું મૂળ ટાઇમસ્ટેમ્પ ફોર્મેટ નથી, તેથી અમારે પસંદ કરવું પડે કે ટાઇમસ્ટેમ્પને સ્ટ્રિંગમાં કેવી રીતે ફેરવવું, અને સ્ટ્રિંગને ટાઇમસ્ટેમ્પમાં કેવી રીતે ફેરવવું, એટલે કે કેવી રીતે સિરિયલાઇઝ/ડિસિરિયલાઇઝ કરવું.
કેટલીક એપ્લિકેશનો UTC સમયને બદલે સ્થાનિક સમય વાપરવા સેટ કરાયેલી છે. આ એવા પ્રોજેક્ટ્સ માટે અનુકૂળ હોઈ શકે જેમને સ્થાનિક સમય અનુસાર સમાયોજિત થવું પડે, જેમ કે સ્થાનિક સમય પર આધારિત ઘટનાઓ ટ્રિગર કરતા પ્રોજેક્ટ્સ.
કેટલીક સિસ્ટમોની સમય ચોકસાઈની જરૂરિયાતો અને ક્ષમતાઓ અલગ છે, જેમ કે સેકન્ડ વિરુદ્ધ મિલિસેકન્ડ વિરુદ્ધ નેનોસેકન્ડના સમય રિઝોલ્યુશનનો ઉપયોગ. ઉદાહરણ તરીકે, Linux ઓપરેટિંગ સિસ્ટમનો
dateઆદેશ સેકન્ડની ડિફોલ્ટ સમય ચોકસાઈ વાપરે છે, જ્યારે Nasdaq શેરબજાર નેનોસેકન્ડની ડિફોલ્ટ સમય ચોકસાઈ ઇચ્છે છે.
નિર્ણય
અમે નેનોસેકન્ડ ચોકસાઈ સાથે ટાઇમસ્ટેમ્પ પ્રમાણભૂત ફોર્મેટ ISO 8601 પસંદ કરીએ છીએ, ખાસ કરીને "YYYY-MM-DDTHH:MM:SS.NNNNNNNNNZ".
ફોર્મેટ વર્ષ, મહિનો, દિવસ, કલાક, મિનિટ, સેકન્ડ, નેનોસેકન્ડ અને ઝુલુ સમય ઝોન ઉર્ફે UTC, GMT દર્શાવે છે.
સ્થિતિ
નિર્ણય લેવાયો.
વિગતો
ધારણાઓ
અમારે આ ટાઇમસ્ટેમ્પ લખાણ સ્ટ્રિંગ્સ સંભાળવી પડશે, ટાઇમસ્ટેમ્પમાંથી સ્ટ્રિંગમાં ફેરવવા (ઉર્ફે સિરિયલાઇઝ) અને સ્ટ્રિંગમાંથી ટાઇમસ્ટેમ્પમાં ફેરવવા (ઉર્ફે ડિસિરિયલાઇઝ).
અમે એવું ફોર્મેટ ઇચ્છીએ છીએ જે સામાન્ય રીતે વાપરવામાં સરળ, ફેરવવામાં સરળ અને વ્યક્તિ માટે વાંચવામાં સરળ હોય.
અમે એવી બાહ્ય સિસ્ટમોની વિશાળ શ્રેણી સાથે સુસંગતતા ઇચ્છીએ છીએ જેને અમે નિયંત્રિત કરી શકતા નથી, જેમ કે એનાલિટિક્સ સિસ્ટમો, ડેટાબેઝ સિસ્ટમો, નાણાકીય સિસ્ટમો.
મર્યાદાઓ
કેટલીક સિસ્ટમોની સમય ચોકસાઈની મર્યાદાઓ છે. ઉદાહરણ તરીકે, macOS ઓપરેટિંગ સિસ્ટમનો date આદેશ સેકન્ડમાં સમય ચોકસાઈ છાપી શકે છે, પરંતુ નેનોસેકન્ડમાં નહીં.
વલણો
અમે વિકલ્પોની શ્રેણી ધ્યાનમાં લીધી:
Unix epoch એટલે કે એક વધતો અંક.
સંક્ષિપ્ત લખાણ ફોર્મેટ "YYYYMMDDTHHMMSSNNNNNNNNN".
સ્થાનિક સમય ઝોન વિરુદ્ધ UTC સમય ઝોન વાપરવો.
દલીલ
લાક્ષણિક ઉપયોગ માટે, અમે કાચી ઝડપ/કદ કરતાં માણસો માટે વાંચવા/લખવાની સરળતાને વધુ મૂલ્ય આપીએ છીએ.
લાક્ષણિક ઉપયોગ માટે, અમે એવું ફોર્મેટ ઇચ્છીએ છીએ જે મશીન સિસ્ટમોમાં સારી રીતે કામ કરે, અને મેન્યુઅલી પણ સારી રીતે કામ કરે, જેમ કે નમૂના ડેટા લખવો, JSON આઉટપુટ વાંચવું, લોગ ફાઇલમાં grep કરવું, વગેરે.
અલાક્ષણિક ઉપયોગ માટે, જેમ કે ઉચ્ચ કામગીરી કમ્પ્યુટિંગ, અમે અપેક્ષા રાખીએ છીએ કે અમે પસંદ કરેલા કોઈપણ લખાણ ફોર્મેટને ઝડપી ફોર્મેટમાં ફેરવીને ઓપ્ટિમાઇઝ કરવા માગીશું, જેમ કે પ્રોગ્રામિંગ ભાષાનો બિલ્ટ-ઇન તારીખ ઓબ્જેક્ટ પ્રકાર. તેથી HPC માટે લખાણ ફોર્મેટ બહુ મહત્વનું નથી.
અસરો
અમારી વિવિધ લખાણ સિસ્ટમો અને સમય સિસ્ટમો આ ફોર્મેટ પર કન્વર્જ થશે.
સંબંધિત
સંબંધિત નિર્ણયો
અમે સમય ડેલ્ટા ઉર્ફે અવધિ ટ્રેક કરવાની ઝડપી/સરળ રીત પણ ઇચ્છી શકીએ. આ Unix epoch ટાઇમસ્ટેમ્પ સાથે સરળ છે.
સંબંધિત જરૂરિયાતો
અમે અમારા નિર્ણયને સમાયોજિત કરવા માગી શકીએ દા.ત. જો અમારી પાસે ચોક્કસ પ્રકારના લોગિંગ સંદેશ સ્ટેમ્પ માટે સંબંધિત જરૂરિયાત હોય, જેમ કે Splunk, Sumo, ELK, વગેરે માટે.
સંબંધિત આર્ટિફેક્ટ્સ
ભાષા ફોર્મેટર્સ અને પાર્સર્સ:
Rosetta Code ઉદાહરણો:
SixArm ઉદાહરણો:
સંબંધિત સિદ્ધાંતો
સરળતાથી પલટાવી શકાય તેવું. અમે Unix epoch જેવા અલગ ફોર્મેટમાં ખૂબ સરળતાથી બદલી શકીએ છીએ.
અકાળે ઓપ્ટિમાઇઝેશન મુલતવી રાખો. લાક્ષણિક ઉપયોગ માટે અમને ડેશ અને કોલન વાપરતા ફોર્મેટ જેવા મુઠ્ઠીભર વધારાના અક્ષરોની ખાસ પરવા નથી.
નોંધો
અહીં નોંધો ઉમેરો.