How do I get MATLAB to recognize a BCE

4 次查看(过去 30 天)
Hi all, I am trying to make a time calculator and want the user to be able to input negative numbers. I have so far converted this negative into a positive number, and just need to add BCE onto the end and have it as a valid input to the time difference calculator. How can I get Matlab to accept BCE attached to the end of the year in the MM/DD/YYYY format as a valid year? What is the input formula that I have to put in and how would I tell it to do so?

回答(1 个)

Steven Lord
Steven Lord 2024-2-16
Rather than trying to create a string containing a negative year to represent a BCE date and passing that string into datetime, I'd call datetime with three inputs containing the year, month, and day data. In the example below I'm also specifying the format with which to display the datetime, using G to display the era rather than displaying the year as a negative number.
y = -38;
m = 4;
d = 15;
April15BCE = datetime(y, m, d, Format="dd MMM y G")
April15BCE = datetime
15 Apr 39 BCE
A year value of 0 corresponds to 1 BCE, so April15BCE lists a year of 39 BCE for y = -38.
datetime(0, 4, 15, Format="dd MMM y G")
ans = datetime
15 Apr 1 BCE
datetime(1, 4, 15, Format="dd MMM y G")
ans = datetime
15 Apr 1 CE
  1 个评论
CHRISTY
CHRISTY 2024-2-16
Thank you, my boss (learning how to code for work) wants the input format to be MM/DD/YYYY and enable a user to enter a negative number for year and have it calculate the duration. Is there a way to allow a negative year using this format technique you suggested?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Dates and Time 的更多信息

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by